我正在分析c#中有2个库的系统:业务层和数据层访问。
商业图书馆有:
1 BaseManager.cs class
Several Managers (ClientManager.cs, ContactManager.cs, etc).
1 BaseEntity.cs class
Several Entities(Client.cs, Contact.cs, etc)
1 NotifyPropertyChange.cs class
数据访问层具有:
1 BaseData.cs class
Several data objects (ClientDatasql.cs, ContactDataSql, etc)
Several interfaces (IClientData.cs,IContactData.cs, etc)
1 Class called DataFactory.cs
库中的所有类都是部分的,例如
Client.cs, Client.Generated.cs
ContactManager.cs, ContactManagerGenerated.cs
BaseData.cs, Basedata.Generated.cs
Etc.
所有这些类都是使用代码生成器生成的,这个代码生成器是由我工作的人编写的。使用的方法是#34;数据库优先",实体框架不习惯这样做。
我的问题是:
如何开始创建自己的代码生成器以生成那种类?
有没有工具可以帮助我做到这一点? 或者我应该从头开始写它? 我应该开始阅读哪些主题?
提前致谢。
答案 0 :(得分:0)
如果您首先要仔细查看实体框架是什么以及它提供了什么,那么这可能是一个好主意。
当我遇到EF问题时,我最喜欢的起点往往是msdn.microsoft.com/ef。
在您的特定情况下,EF支持名为Database First的工作流,其中现有数据库用于将使用的实体的基础。有许多工具可以使用数据库并从中生成实体类。 Here是完成该操作的基本示例。