BusinessBase Exposes a Save Method in .NET Core Projects #710

Closed
rabidkitten opened this Issue Apr 1, 2017 · 5 comments

Comments

Projects
None yet
3 participants
@rabidkitten

rabidkitten commented Apr 1, 2017

Updated by @rockfordlhotka

As noted later in this thread, the issue is that BusinessBase exposes a sync Save method and BusinessListBase does not. Either .NET Core should or should not support sync methods like this, but in any case it needs to support async methods.

Original text from @rabidkitten:

Using CSLA-Core 4.6.500 (the latest at the time of this writing).

Classes that inherit BusinessListBase do not expose a .Save method when used in a .NET Core assembly. I am getting around this by using .SaveAsync(). Objects that implement BusinessBase have the Save method. In a non-.NET Core assembly, the Save method is visible.

@rabidkitten

This comment has been minimized.

Show comment Hide comment
@rabidkitten

rabidkitten Apr 3, 2017

No longer using the CSLA.

No longer using the CSLA.

@rabidkitten rabidkitten closed this Apr 3, 2017

@rockfordlhotka

This comment has been minimized.

Show comment Hide comment
@rockfordlhotka

rockfordlhotka Apr 3, 2017

Owner

I'm reopening this issue, as it might be a bug - there should be symmetry between the two base classes and their Save method options.

Owner

rockfordlhotka commented Apr 3, 2017

I'm reopening this issue, as it might be a bug - there should be symmetry between the two base classes and their Save method options.

@rockfordlhotka rockfordlhotka reopened this Apr 3, 2017

@rob-v

This comment has been minimized.

Show comment Hide comment
@rob-v

rob-v Apr 3, 2017

Contributor

The BusinessListBase.Save method has this conditional compilation: #if !(ANDROID || IOS) && !NETFX_CORE I assume it can be removed to support Save for .NET Core projects.

I didn't finish my test, because I assume to load/reference CSLA for .NET Core projects I need VS 2017.

Contributor

rob-v commented Apr 3, 2017

The BusinessListBase.Save method has this conditional compilation: #if !(ANDROID || IOS) && !NETFX_CORE I assume it can be removed to support Save for .NET Core projects.

I didn't finish my test, because I assume to load/reference CSLA for .NET Core projects I need VS 2017.

@rockfordlhotka

This comment has been minimized.

Show comment Hide comment
@rockfordlhotka

rockfordlhotka Apr 3, 2017

Owner

This is a bug - the history is that UWP doesn't support synchronous IO operations, and it was the first ".NET Core" platform - so when I added support for UWP I had to remove the sync Save operations.

I actually think the bug here is that I didn't block out the sync method on BusinessListBase, not that it is missing from BusinessBase.

It remains to be seen whether I'll choose to support any sync data portal behaviors in .NET Core, given that the world is clearly moving to async overall.

To your VS2017 question @rob-v - the current master branch has been updated to 2017. But I am told that you can work with .NET Core projects using vscode as well, so 2017 probably isn't a strict requirement.

Owner

rockfordlhotka commented Apr 3, 2017

This is a bug - the history is that UWP doesn't support synchronous IO operations, and it was the first ".NET Core" platform - so when I added support for UWP I had to remove the sync Save operations.

I actually think the bug here is that I didn't block out the sync method on BusinessListBase, not that it is missing from BusinessBase.

It remains to be seen whether I'll choose to support any sync data portal behaviors in .NET Core, given that the world is clearly moving to async overall.

To your VS2017 question @rob-v - the current master branch has been updated to 2017. But I am told that you can work with .NET Core projects using vscode as well, so 2017 probably isn't a strict requirement.

@rockfordlhotka rockfordlhotka added the bug label Aug 9, 2017

@rockfordlhotka rockfordlhotka changed the title from BusinessListBase Does Not Expose Save Method in .NET Core Projects to BusinessBase Exposes a Save Method in .NET Core Projects Aug 9, 2017

@rockfordlhotka rockfordlhotka self-assigned this Sep 8, 2017

@rockfordlhotka rockfordlhotka added this to the 4.7.100 milestone Sep 8, 2017

@rockfordlhotka

This comment has been minimized.

Show comment Hide comment
@rockfordlhotka

rockfordlhotka Oct 9, 2017

Owner

I am going to close this, as the problem no longer exists in NS 2.0 - the codebase for NS 2.0 and other platforms is much more normalized than it could be in NS 1.x.

If someone is truly stuck on NS 1.x they can use the workaround noted above.

Owner

rockfordlhotka commented Oct 9, 2017

I am going to close this, as the problem no longer exists in NS 2.0 - the codebase for NS 2.0 and other platforms is much more normalized than it could be in NS 1.x.

If someone is truly stuck on NS 1.x they can use the workaround noted above.

@rockfordlhotka rockfordlhotka referenced this issue in MarimerLLC/cslaforum Oct 11, 2017

Open

CSLA .NET 4.7 (coming soon) #442

@rockfordlhotka rockfordlhotka referenced this issue in MarimerLLC/cslaforum Mar 22, 2018

Open

CSLA .NET version 4.7.100 release #510

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment