Entity framework 在实体框架中重用实体跨多个Visual studio解决方案—公共列和不同列—首先是数据库、模型还是代码?
我需要帮助选择CRUD方法,以满足多个企业解决方案中具有公共字段和可变字段的单独表的需求 下面是每个解决方案数据库中名为Organization的表中列的简化示例 Db1: Id(通用) 名称(通用) 地址(普通) 客户身份 Db2: 身份证件 名称 住址 无雇主 注册状态 Db3: 身份证件 名称 住址 第二地址 Db4: 身份证件 名称 住址 林克迪德 背景: 我有同行业的客户,他们都有我开发的类似的MIS(带数据库的前端)系统。 所有客户机的功能概念相同,但30%的表的表列不同,业务规则不同,屏幕必须与每个独特的客户机要求相匹配 每个客户端的系统都有自己的Visual studio解决方案和SQL server数据库。 客户机拥有自己的特定数据库和源代码 所有客户端都需要定期更改功能。有时,由于政府/财务要求/增值,会为所有客户添加表中的新数据列,有时只为一个特定客户添加数据列,而该客户的请求是唯一的 查看客户端数据库之间的数据库结构,这些表具有相同的表名。表中有70%的表列相同,不同之处在于为该客户端唯一的客户端添加了列或新表。前端屏幕也各不相同 现在创建新的解决方案并维护解决方案非常耗时,因为核心字段、规则和视图与唯一字段、规则和视图之间没有代码分离,因此很难区分核心代码和自定义代码 设计:Entity framework 在实体框架中重用实体跨多个Visual studio解决方案—公共列和不同列—首先是数据库、模型还是代码?,entity-framework,architecture,crud,Entity Framework,Architecture,Crud,我需要帮助选择CRUD方法,以满足多个企业解决方案中具有公共字段和可变字段的单独表的需求 下面是每个解决方案数据库中名为Organization的表中列的简化示例 Db1: Id(通用) 名称(通用) 地址(普通) 客户身份 Db2: 身份证件 名称 住址 无雇主 注册状态 Db3: 身份证件 名称 住址 第二地址 Db4: 身份证件 名称 住址 林克迪德 背景: 我有同行业的客户,他们都有我开发的类似的MIS(带数据库的前端)系统。 所有客户机的功能概念相同,但30%的表的表列不同,业务规则不
从我所读到的关于实体框架的内容来看,不清楚代码、模型或数据库首先是否最符合我的要求?建议将不胜感激。数据库优先和模型优先使用不适合继承的edmx文件 使用EFcode first,您可以使用带有继承的普通C#OO类,并使用EF映射将继承的类映射到表 因此,我的代码如下所示: 解决方案之间的共享命名空间类:
public abstract class OrganisationBase
{
public int OrganisationId { get; set; }
[Required]
public string Name { get; set; }
[Required]
public string Address { get; set; }
[Required]
public string TelNo { get; set; }
}
客户端1特定的命名空间类:
public class Organisation : OrganisationBase
{
[Required]
public int ClientStatusId { get; set; }
}
public class Organisation : OrganisationBase
{
[Required]
public int NoOfEmployees { get; set; }
[Required]
public int RegistrationStatusId { get; set; }
}
客户端2特定的命名空间类:
public class Organisation : OrganisationBase
{
[Required]
public int ClientStatusId { get; set; }
}
public class Organisation : OrganisationBase
{
[Required]
public int NoOfEmployees { get; set; }
[Required]
public int RegistrationStatusId { get; set; }
}