This question is locked. New answers and comments are not allowed.
I have been using various ORMs for several years, currently using NetTiers. We are also considering DataObjects.NET but do not like the idea of it changing the database schema. We deal with a lot of data and so our database structures are decided with a purpose, and so anything that wants to change that, I have a problem with.
Since we are a customer of Telerik for the ASP.NET RadControls, I have started experimenting with the latest version of OpenAccess v10.x. Here are some initial things that I have noticed out of the box:
Environment:
SQL Server 2008
Visual Studio 2008
1. We use schemas beyond the default 'dbo' in SQL Server. Typically, when creating a new ORM layer, we do an ORM library at the schema level, not DB level. So, when going through the OpenAccess wizard, I selected Prefix with SchemaName. I also like my entities to be suffixed with the word Entity and prefer attributes over XML. The end result had 2 major problems that I saw:
a. The entities were not prefixed with the schema name.
b. The attribute had a syntax error on each entity. OpenAccess generated this
[Table("MyTableName"SchemaName = "schema", )]
rather than this
[Table("MyTableName", SchemaName = "schema" )].
2. I left all settings for capitalization to remain unchanged. I have found that if the capitalization is done correctly in the DB, then ORMs typically do what you want. I also selected for the collections to be pluralized rather than singular. The problem that I am noticing is this in the capitalization of the collections:
Table Name = OrderDetail ---> correct
Entity = OrderDetailEntity ---> correct
Collection = Orderdetailentities ---> incorrect, why not OrderDetailEntities?
3. I have not quite figured out what will be called what when it comes to the wizard and what the file will be called vs. what I have to use in the code for the context. Everything wants to default to the same. I would like to have the following like so (any help would be good):
Database Name = Accounting
Connection = AccountingConnection
Model = AccountingModel
Context = AccountingModelContext
This is what I have noticed so far. Any help would be appreciated.
Since we are a customer of Telerik for the ASP.NET RadControls, I have started experimenting with the latest version of OpenAccess v10.x. Here are some initial things that I have noticed out of the box:
Environment:
SQL Server 2008
Visual Studio 2008
1. We use schemas beyond the default 'dbo' in SQL Server. Typically, when creating a new ORM layer, we do an ORM library at the schema level, not DB level. So, when going through the OpenAccess wizard, I selected Prefix with SchemaName. I also like my entities to be suffixed with the word Entity and prefer attributes over XML. The end result had 2 major problems that I saw:
a. The entities were not prefixed with the schema name.
b. The attribute had a syntax error on each entity. OpenAccess generated this
[Table("MyTableName"SchemaName = "schema", )]
rather than this
[Table("MyTableName", SchemaName = "schema" )].
2. I left all settings for capitalization to remain unchanged. I have found that if the capitalization is done correctly in the DB, then ORMs typically do what you want. I also selected for the collections to be pluralized rather than singular. The problem that I am noticing is this in the capitalization of the collections:
Table Name = OrderDetail ---> correct
Entity = OrderDetailEntity ---> correct
Collection = Orderdetailentities ---> incorrect, why not OrderDetailEntities?
3. I have not quite figured out what will be called what when it comes to the wizard and what the file will be called vs. what I have to use in the code for the context. Everything wants to default to the same. I would like to have the following like so (any help would be good):
Database Name = Accounting
Connection = AccountingConnection
Model = AccountingModel
Context = AccountingModelContext
This is what I have noticed so far. Any help would be appreciated.