Questions tagged [csla]

CSLA .NET provides a home for your business logic. It helps you build a scalable and reusable business domain object model for your application. Your business logic can run anywhere .NET runs: Windows, iOS, Android, Linux, Mac, and more.

Questions with the csla tag should relate to the CSLA .NET framework.

CSLA .NET

A Home for Your Business Logic

CSLA .NET is an open source framework, created by Rockford Lhotka, designed to help developers create a rich, scalable, reusable, and maintainable business domain model for their application. This business domain model is ideally designed around user scenarios/stories or use cases, and encapsulates business, validation, and authorization rules.

CSLA .NET also supports an architectural concept called mobile objects. Using this concept, in an n-tier application the business object graphs are able to move between the client workstation and application server. The CSLA .NET data portal enables this concept, as well as completely abstracting any idea of the network from the application code. The result is that an application can switch from a 1- or 2-tier deployment to a 3- or 4-tier deployment without needing to change any application code.

The platforms supported by CSLA .NET include:

  1. Windows (MAUI, UWP, WPF, Windows Forms)
  2. Android (MAUI, Xamarin)
  3. iOS (MAUI, Xamarin)
  4. MacOS (MAUI, Xamarin, .NET Core)
  5. Linux (MAUI, Xamarin, .NET Core)
  6. WebAssembly (Blazor, Uno, etc.)
  7. Blazor, ASP.NET MVC, Razor Pages, Web API, Web Forms

The primary feature areas provided by CSLA .NET are:

  1. Business rules: CSLA .NET includes a rules engine supporting business, validation, and authorization rules. This engine integrates with, and extends, standard DataAnnotations, and brings DataAnnotations support to WP7 and Windows Forms. Additionally, it supports synchronous and asynchronous rule execution
  2. Data binding support: Business objects created with CSLA .NET support data binding in all supported platforms. The data binding support includes full support for in-place editing in datagrid controls, as well as read-only data, and standard detail forms.
  3. LINQ: CSLA .NET collections are queryable, and can optionally create "live views" so changes made to the results of a LINQ query are automatically synchronized with the original business object.
  4. Mobile objects: Through the data portal, CSLA .NET supports 1-, 2-, 3-, and 4-tier application deployments, and allows an application to switch between deployment configurations without changing existing code.
  5. Abstract persistence: CSLA .NET is not an ORM and does not implement mapping to databases. However, the data portal does provide a clear, well-defined structure for invoking the application's data access layer. This is abstract, and supports the use of any data access technology, including ADO.NET, Entity Framework, dapper, REST service calls, interacting with the file system or XML files, or any other data access model you care to use.

Important links

Other resources

222 questions
3
votes
1 answer

Winforms main UI thread principal reverting to previous

I am working on a Winforms app that uses the CSLA framework with custom authentication (i.e. The middle tier/server manages authentication) and am in the process of implementing a Session Timeout feature. The problem I am having is a weird issue…
oatsoda
  • 2,088
  • 2
  • 26
  • 49
3
votes
2 answers

Model Framework for ASP .NET / MVC

I have been using the CSLA framework for couple of years now for windows applications. With ASP .NET MVC / AJAX / jQuery out now, would there be any use for the CSLA framework (which is strongly Object Oriented ) in web apps?
Developer
  • 17,809
  • 26
  • 66
  • 92
3
votes
1 answer

Transaction Escalated to DTC No Multiple Connections

Does anyone know of any cases when using a transaction scope the transaction is escalated to the DTC when multiple connections are NOT open. I am aware that if I open multiple connections(no matter what connection string) within a transaction scope…
ARs
  • 466
  • 1
  • 7
  • 14
3
votes
1 answer

How do I configure a CSLA WCF DataPortal for Azure?

When I put my CSLA-based DataPortal up in Azure's Cloud Services, my WinForms application throws the following exception when it tries to access my business objects: System.ServiceModel.Security.SecurityNegotiationException: Secure channel cannot…
Brad Rem
  • 6,036
  • 2
  • 25
  • 50
3
votes
1 answer

CSLA FieldManager.updatechildren(this) vs FieldManager.updatechildren

I am new to CSLA and i am trying to understand the difference between FieldManager.updatechildren(this) vs FieldManager.updatechildren. When is it appropriate to use either one?
New Developer
  • 123
  • 1
  • 10
2
votes
2 answers

Can anyone point me to CSLA app's running live on the Web?

Can anyone point me to CSLA.Net app's running live on the Web?
MindModel
  • 822
  • 1
  • 10
  • 22
2
votes
3 answers

Need domain modeling advice - hopefully common scenario

and thanks in advance for your time. We are using CSLA 3.5.1, although, ultimately, this problem may not have much to do with CSLA. My company has gone a long way down the road of a common modeling error and is finally having to face it. I've…
Will Rogers
  • 357
  • 1
  • 10
2
votes
2 answers

How to exclude all folders containing Csla.Resources.dll from publish in dot net core?

I'm using CSLA framework with dot net core 2.0. When I do publish (dotnet publish -c Release -r ...) using Release configuration additional folders (tr, sv, sr) to name few of them, contains Csla.Resources.dll and they are copied in output publish…
ITGoran
  • 442
  • 1
  • 7
  • 18
2
votes
1 answer

Error on serialization due to circular dependency

I have a custom base class Entity decorated with [DataContract(IsReference = true)] and deriving from UndoableBase of CSLA.net. Keeping IsReference is important to preserve object reference data. [Serializable] [DataContract(IsReference =…
2
votes
1 answer

"Can not directly save a child object"

Not able to save ListeItem Marked as IsChild True,IsValid True and all other flag needs to save child to DB. Can any one suggest how to get rid of this error in CSLA.
2
votes
2 answers

Interface declaration for base class method to support IoC

So here is the code: interface A { T Save(); } interface B : A { } class BusinessBase { T Save(); } class D : BusinessBase where T : BusinessBase where U : B { new U Save() { base.Save(); //…
spinon
  • 10,760
  • 5
  • 41
  • 59
2
votes
1 answer

How do I retrieve a CSLA property's friendly name from outside the class?

The property looks like this: private static PropertyInfo FooProperty= RegisterProperty(c => c.Foo, "Foo Friendly Name"); public bool Foo { get { return GetProperty(FooProperty); } private set { SetProperty(FooProperty,…
Erik Elkins
  • 629
  • 5
  • 14
2
votes
1 answer

CSLA How to create Info Classes with child-parent relationships

I'm new to CSLA, so I'm trying to figure out how to solve the following problem.I want to write 4 info classes, like these on the following diagram. They are all info classes, DayRecordInfoCollection is collection of DayRecordInfo objects, and…
Hank Mooody
  • 527
  • 11
  • 29
2
votes
0 answers

Kendo inline grid editing error when posting a Csla.Net child object

I have a Csla.Net parent + list of child model and in my grid I'm binding to a collection of child records of type BusinessBase. Using Kendo grid inline grid editing, the Update method fails during the model binding as it cannot create an instance…
richardb
  • 943
  • 1
  • 10
  • 27
2
votes
1 answer

the entity or complex type 'x' cannot be constructed in a linq to entities query

Can anyone tell me what is wrong with the following code since I get this error in the subject when run: My concrete DAL: public class CustomerDal : ICustomerDal { public List Fetch() { using(var ctx =…
Peter Centellini
  • 1,287
  • 3
  • 10
  • 11
1 2
3
14 15