如何使用EF Code First的遗留类

本文关键字:遗留类 First Code 何使用 EF | 更新日期: 2023-09-27 18:19:51

我有大量用C#编写的遗留类,我想将其用于EF Code First。

需要对这些类做些什么才能使它们在EF Code First中可用?

如何使用EF Code First的遗留类

如果你的类是POCO实体类,那么首先使用实体框架代码确实很容易。FK关系需要在具有这些类型关系的实体中进行定义。示例:

public virtual ICollection<CmsCategoryType> CategoryTypes { get; set; } 

其次,您需要创建一个DBcontext类,它实际上会为您连接所有内容。示例:

public class CampaignContext :  DbContext
{
    public DbSet<CmsContent> Contents { get; set; }
    public DbSet<CmsCategoryType> CategoryTypes { get; set; }
}

预定义一个连接字符串也是一个好主意。示例:

<add name="CampaignContext" connectionString="Data Source=localhost'SQLEXPRESS;
                            Initial Catalog=Campaigns;
                            Integrated Security=True" 
                            providerName="System.Data.SqlClient"/>

现在,当您第一次运行应用程序时,实体框架代码将首先到达连接字符串中指定的sql server。使用预先定义的名称创建数据库,获取实体类并创建具有主键和外键关系的表,通常通过dbcontext为您连接所有内容。

需要注意的是,连接字符串名称和dbcontext应该具有相同的名称,按照惯例,dbcontext会查找匹配的名称。此外,你可能会错过一些你认为应该拥有的关系。同样,这是需要在相关实体之间来回设置的虚拟ICollections。

希望这对你有所帮助,祝你的项目好运。