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
2
votes
2 answers

csla Validation Error: Insert is an Invalid Operation

I am new to csla Validation and got a problem to resolve on Validation rules. The scenario is that I am trying to update a Collection on client on the basis of response from Server. The Class in which the "notsupported exception" comes is derived…
Shah Faisal
  • 83
  • 1
  • 8
2
votes
0 answers

Decoding CSLA.NET communications in Fiddler

I'd like to take a WCF SOAP request/response I captured in Fiddler and be able decode into a human readable format. The traffic I'm capturing using Fiddler is coming from a Silverlight application that uses WCF/CSLA.NET. Are there any inspectors…
jaxon
  • 21
  • 2
2
votes
2 answers

How do I handle two assemblies with the same filename during a TFS 2010 RC build?

I am following the CSLA.NET for Silverlight pattern of using the same filename for the business objects assemblies. For example: CSLA.dll // .NET assembly MyProject.Entities.dll // .NET assembly CSLA.dll // Silverlight…
JasonRShaver
  • 4,344
  • 3
  • 32
  • 39
2
votes
1 answer

CSLA Not reporting object as dirty after being changed

I've got a CSLA object that is returning data from the database fine but when I change any of the properties on the object the object still says IsDirty = "false". Although when I create a new object it reports IsDirty = "true". I'm sure its just…
lancscoder
  • 8,658
  • 8
  • 48
  • 68
2
votes
2 answers

.NET Domain Driven Design and CSLA.NET

In Eric Evans' Domain Driven Design approach, would it be a good idea to use Rocky Lhotka's CSLA.NET for designing Business Entities for Domain Layer?
Ajit Singh
  • 1,016
  • 13
  • 26
2
votes
5 answers

Implementing C# Business Objects (CSLA)

We are about to commit to implementing Rocky Lhotka's CSLA as an application development Framework for our Visual Studio 2008 solutions. I would like to test the water on SO and am particularly interested in developer's opinions of the approach in…
miPwn
  • 1,166
  • 1
  • 13
  • 29
2
votes
2 answers

Java "equivalent" to CSLA

I've read several chapters of the CSLA book and I like it, but being lately geared more towards Java, I'm looking for a Java-based equivalent. Does anybody know anything that comes close to CSLA in Java? I would also settle for a good combination of…
Doc
  • 343
  • 3
  • 13
2
votes
2 answers

How do you dynamically add columns to a RadGrid?

I have a RadGrid with an unknown number of columns I would like to create. Actually I know the first column, which has a DataField of PermissionName. I have a CSLA data source which returns a list of PermissionInfo objects, each of which contains…
Will
  • 421
  • 2
  • 8
  • 23
2
votes
1 answer

CSLA .NET - Child_Fetch not working as expected

I recently posted this on http://forums.lhotka.net/ , but I'm not getting a response. Hopefully I have better luck here. Here is my problem. I'm using CSLA .NET 4.5, and I recently added an additional Child_Update method to a BusinessBase to…
Brett Janer
  • 517
  • 1
  • 4
  • 20
2
votes
3 answers

How well would MvvmCross and CSLA.net work together in a multi-platform strategy (ASP.NET MVC, WP, WPF, WinRT, Win8, Android, iOS)

Long time lurker, first time questioner here :) I have been looking into our company's next software system architecture. We have been using CSLA.net, to some extent, as our business object framework and are thinking of building our new…
2
votes
1 answer

Csla.Luna, what's this?

I have this wpf form; the call to InitializeComponent() brings up this message: Binding Failure was detected. The assembly with display name 'Csla.Luna' failed to load in the 'Load' binding context of the AppDomain with ID 1. The cause of…
Teodor
  • 497
  • 1
  • 6
  • 20
2
votes
2 answers

Supporting multiple versions of a data schema

Our application provides an user interface to another system with a data schema that is not within our control. Our application uses CSLA to create business objects to allow editing of the data in the third party system. However, as the third party…
brickls
  • 125
  • 8
2
votes
1 answer

NHibernate.NonUniqueObjectException within a transaction (using CSLA.Net)

I am pretty new to both NHibernate and CSLA.NET, and I'm running into an issue where I'm essentially needing to save the same row in the database twice, within the same transaction (and therefore, session). I've read the other questions on SO w.r.t.…
Jordan0Day
  • 1,386
  • 4
  • 15
  • 25
2
votes
2 answers

C# CSLA business object dilemma: read-only vs read/write

I'm part of a team tasked to revamping our old VB6 UI/COBOL database application to modern times. Before I was hired, the decision was made (largely on sales, I'm sure) to redo the UI before the database. So, now we're using WPF and MVVM to great…
opedog
  • 736
  • 7
  • 21
2
votes
1 answer

Performance of CSLA.NET Framework

Our system uses an Entity Framework based data layer. For the recent months, we've been using the entities generated by EF for data transfer, business logic and UI. Since our application is becoming larger and larger we made a decision to create a…
wassim
  • 69
  • 1
  • 12