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
0
votes
1 answer

How to remove #region in visual studio along with all its content

I Used Codesmith to generate CSLA Template. But Codesmith generates Asynchronous Factory Methods Which I dont want and which are full of 'Csla.DataPortal' does not contain a definition for 'CreateAsync'... errors. So I want to remove all the code…
Teddy
  • 304
  • 5
  • 17
0
votes
1 answer

Xaml - add existing control to grid

Trying to develop using MVVM: I have this Csla.PropertyStatus control that is created in my ViewModel. I want to add it in the xaml (via binding, i think) and set some additional properties there (such as the target). I don't know how i could do…
Teodor
  • 497
  • 1
  • 6
  • 20
0
votes
2 answers

Converter ID to object

I have a Converter class which I give a ID. With this ID I want to get a object as return value. But I have an Error which I don't know how to fix. The error appears at: result = ArbeitsplatzgruppeNT.Get(arbeitsplatzgruppeId); In my Convert Method…
dennis schütz
  • 383
  • 4
  • 21
0
votes
1 answer

Data Binding in .NET with CSLA BOs

OK, I am having quite an issue with data bindings in .NET. Some background information, my business object tier is using CSLA v1.0. And _clientObj is passed in as a parameter as a business object that inherits CSLA.BusinessBase Here is the code…
Greg L
  • 1
0
votes
1 answer

Fake identity for multiple rows

sorry for possibly noobish question - I'm not a pro in SQL. So i have to make a so called "creation groups" - user will create multiple items at one time, and system must remember, which items were created together. So it will should look in db like…
Denis.Grid
  • 315
  • 2
  • 5
0
votes
1 answer

Achieving unit testability of Presenter while using CSLA Framework with WCSF

The WCSF uses Model View Presenter (MVP) pattern for organizing/structuring the source code for a website. When MVP pattern is used correctly, it provides seperation of concerns, unit testability of presenter logic, etc. How to make WCSF and CSLA…
Anand Patel
  • 6,031
  • 11
  • 48
  • 67
0
votes
1 answer

CSLA Loading list by ForeignKey in LoadData

I'm working with the MVVM pattern in C#. I have got a PlaceChild, PlaceChildList class and a Manage class which got the PlaceChildList in it. PlaceChild has a ForeignKey of ManageID. I want in the "LoadProperty" method in the Manage class to fill…
dennis schütz
  • 383
  • 4
  • 21
0
votes
2 answers

CSLA: is many separate projects really needed?

I'm looking at the ProjectTracker CSLA example solution and it has projects for DAL, EF implementation of DAL, and a project for the business objects/rules/etc. I understand it's good practice to split logical separations in to projects, buy my…
mswanson
  • 283
  • 3
  • 8
0
votes
1 answer

MVVM database delete Method

I want to DELETE some items from my Model which I generated from the database like that: db = new TestDBEntities(); foreach (var item in db.Farbe) { _model.Add(new Farbe { FarbauswahlNr = item.FarbauswahlNr,…
dennis schütz
  • 383
  • 4
  • 21
0
votes
1 answer

CSLA Permissions failing when deployed to server(s)

I have an ASP.NET MVC 4 application that is using CSLA.NET for a portion of our business logic. The permissions to read/write are handled through AD by a domain account, the same account as the Application Pool Identity and .NET Impersonation user.…
DeeDub
  • 1,654
  • 1
  • 12
  • 18
0
votes
2 answers

TransactionScope doesn't rollback on exception CSLA 4.3

I have a BO (Country) with a child BO (State) which also has a child BO (City). When I update the parent BO (Country), add a child State and run save, when an exception occurs in the DAL (on purpose), the transaction is not rolled back. I am using…
Mensur
  • 1,196
  • 3
  • 18
  • 30
0
votes
1 answer

Sharing Codesmith properties with multiple project files

I'm using codesmith to generate our CSLA layer, and have 3 separate Codesmith projects (.csp) to generate CSLA Business Objects Data Access Scaffolded Unit Tests Each of those project files have a list of target database tables within them, in the…
Kevin Blake
  • 434
  • 2
  • 5
0
votes
1 answer

Method does not contain definition when it is there

I am using Visual Studio 2012 and Codesmith tools with the csla framework. I recently regenerated my classes and now I am getting the strangest errors.In one of my aspx.cs files, after build, it says "X does not contain a definition for…
McSick
  • 116
  • 1
  • 1
  • 6
0
votes
2 answers

What .Net business logic layer frameworks do you use ?

I've been asked to extend a simple legacy application by adding a few tables and classes in it to extend functionality. This is a .Net 1.1 application which I have now successfully upgraded to .Net 3.5 Now my problem is that for these new tables…
armannvg
  • 1,736
  • 1
  • 15
  • 29
0
votes
1 answer

Unable to deserialize CSLA request in soap message sent by WCF (C#)

I am learning WCF so my apologies if my terminology is off here and there. I am trying to deserialize a soap message that was sent with WCF and captured by Fiddler and I keep getting this error message: "The data at the root level is invalid. Line…
Jason Boyd
  • 6,839
  • 4
  • 29
  • 47
1 2 3
14
15