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
5
votes
4 answers

Is Asp.Net MVC + CSLA + DDD Possible

I was asked to review a system the other day that was based on ASP.NET MVC + CSLA + DDD (domain drive design). The first version of this system was based on ASP.NET MVC + CSLA. The second release was based on that plus added DDD. The reason is…
Keith Elder
  • 1,789
  • 1
  • 12
  • 13
5
votes
2 answers

Anyone have experience using CSLA under Mono?

I have a great deal of respect for Mono and CSLA. I would like to utilize CSLA on non-Microsoft operating systems. I accept the fact that Mono will always be two steps behind Microsoft, but Mono supports enough of the .Net framework to facilitate…
Todd Stout
  • 3,687
  • 3
  • 24
  • 29
5
votes
7 answers

learning CSLA.NET framework

What will be a good start point for learning CSLA framework.
Gainster
  • 5,481
  • 19
  • 61
  • 90
5
votes
3 answers

Is it possible to use .NET Remoting + TLS 1.2 (or 1.1)?

Recently our PCI DSS scan failed, and requires that we disable TLS 1.0 (and enable TLS 1.1 or 1.2). I found the instructions on how to do so on our Windows Server 2008 R2 box, but we have a legacy application that is using .NET Remoting (its a .NET…
NightOwl888
  • 55,572
  • 24
  • 139
  • 212
5
votes
2 answers

Difference between CSLA getproperty, setproperty and general getters and setters

I am new to C#, csla and NHibernate. This might be a novice question but I didn't see a clear explanation elsewhere. Can someone please help me in understanding what is the difference between public int Property { get { return…
user2990315
  • 271
  • 1
  • 5
  • 11
5
votes
1 answer

Create temp table with Entity Framework

I want to create a temp table in sql server by using Entity Framework. Is there any way I can do this? If I can create a temp table, my next question is, how I can read it? Thanks in advance. André
Andre
  • 1,044
  • 1
  • 11
  • 23
4
votes
4 answers

CSLA.Net V3.6/NHibernate V2.10 ; how to overcome need for vitual properties

With CSLA.net, all domain classes need to inherit from Businessbase, which contains non-virtual properties. When using NHibernate, we need to implement virtual properties for lazy loading. Some options to use CSLA/NHibernate together seem to be:…
SturdyTree
4
votes
3 answers

Is MSDTC a big resource drain?

So, Is MSDTC a big resource drain on a system (server & application)? In the past, I have written several large scale web applications that rely on MSDTC for database transactions. I have never investigated how much of a drain that would be on the…
Skadoosh
  • 2,575
  • 8
  • 40
  • 53
4
votes
1 answer

Mapping to CSLA objects using Automapper

I am trying to map a DTO object to a CSLA.NET (see: http://www.lhotka.net/cslanet/) object. For the sake of this question I am using the sample application that Lhotka provides with his framework. Below is an example of classes I am using (I removed…
UncleZen
  • 289
  • 1
  • 4
  • 22
4
votes
2 answers

How can I get code coverage info on code called by CSLA?

I'm currently researching and deciding on a code coverage tool for my company, and have so far tried NCover (Bolt and Desktop), DotCover, and NCrunch. All tools I've tried so far work well for measuring/highlighting code coverage in code called…
The Boondoggler
  • 105
  • 1
  • 8
4
votes
3 answers

CSLA.net - Inheritable Base classes

I was reading the book "Expert C# 2005 Business Objects". The book describes various base classes to be inherited by various classes to solve real-world problems. But the book does not provide examples of all those classes. Can anyone give me all…
user366312
  • 16,949
  • 65
  • 235
  • 452
3
votes
1 answer

To be XML serializable, types which inherit from ICollection must have an implementation of Add

I have CSLA (1.x framework) objects from an existing project that I'm trying to use in a new .Net 4.0 project. The objects are being used in production and I really can't convert them to 2.x or EF without having 2 sets of objects. In my c#…
webdad3
  • 8,893
  • 30
  • 121
  • 223
3
votes
1 answer

how do you add multiple versions of the same assembly to the gac

My one ASP.NET web site uses two different business object class libraries. There is a common framework DLL (CSLA.dll) between these two libraries. The problem is that one library wants to upgrade to CSLA v.4.0.1 and the other wants to remain at…
MADCookie
  • 2,596
  • 3
  • 26
  • 46
3
votes
4 answers

Hanging Linq query with Guid.Empty in the where expression

I'm having an issue with the following code: private void DataPortal_Fetch(TaskCriteria criteria) { using (var ctx = ContextManager .GetManager(Database.ApplicationConnection, false)) …
mattruma
  • 16,589
  • 32
  • 107
  • 171
3
votes
1 answer

Setting ItemSource in DataGridComboBoxColumn Using Separate Database Table

My first StackExchange question, so tell me if I do anything wrong. I'm converting old winforms code to WPF, and am leaning them both along the way. I've been successful most of the time, but I'm tacking my first Data Table involving Data Binding. …
MichaelN
  • 156
  • 8
1
2
3
14 15