使用具有导航属性的接口

Ton*_*nyB 10 .net c# entity-framework code-first entity-framework-4

我正在尝试使用Entity Framework 4,POCO和Code-Only设置项目.

在实体框架中导航属性的类型是否可以作为接口?

我有一个"任务"课程.可以将任务分配给用户或组,每个用户或组由单独的类表示并存储在单独的表中.这些类看起来像这样:

public class User : IAssignable
{
    public string Name { get; set; }
    public int ID { get; set; }
    public string Email { get; set; }
    public string Password { get; set; }
}

public class Group : IAssignable
{
    public string Name { get; set; }
    public int ID { get; set; }
    public string Manager { get; set; }
    public string Department { get; set; }
}

public class Task
{
    public string Title { get; set; }
    public DateTime DueDate { get; set; }
    public string Details { get; set; }
    public IAssignable AssignedTo { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

有没有办法将AssignedTo属性作为实体框架中的导航属性?我假设EF必须有某种类型的鉴别器才能知道它是否需要查看Users表或Groups表,但我可以使用Code-Only或EDMX来计算映射.

Ami*_*t G -1

通过使用 EF4 支持的文本模板转换工具包 (T4),您可以节省大量工作。经过 12 个小时的寻找手动创建 POCO 和界面的方法后,我找到了这个,

http://blogofrab.blogspot.com/2010/08/maintenance-free-mocking-for-unit.html

除了为单元测试提供出色的基础之外,它还会根据模型中定义的关系自动生成导航属性。