0

我有两个用于数据模型和数据库上下文的库。

  1. 基本与对象

    public class Person
    {
        [Key]
        public int ID { get; set; }
        public string Name { get; set; }
        public string SName { get; set; }
        public bool IsSystemUser { get; set; }            
    }
    
  2. 扩展

    public class Vehicle
    {
      [Key]
      public int Id { get; set; }
      public string Name { get; set; }
      public string Plate { get; set; }    
      public virtual ICollection<Person> Users { get; set; }
    }
    

如何添加公共虚拟 ICollection Vehicles { get; 放; } 到第一类库中的对象。EF 正在正确生成数据库。

4

2 回答 2

0

使用扩展方法,您可以向类添加方法:

http://msdn.microsoft.com/en-us/library/vstudio/bb383977.aspx

于 2013-02-28T08:16:51.077 回答
0

在第二个库中,我想扩展在第一个库中定义的 Person,因此它可以与第二个库中的对象有多对多的关系。

您可以扩展基础库的Person类:

using BasePerson = BaseLibrary.Person;

public class Person : BasePerson
{
    public virtual ICollection Vehicles { get; set; }
}

这仅在您还扩展 DbContext 时才有效:

using BaseContext = BaseLibrary.MyContext;

public class MyExtendedContext : BaseContext
{
    public new DbSet<Person> Persons { get; set; }
}

现在,当您使用时,MyExtendedContext您将能够访问 Vehicles-collection。

于 2013-02-28T08:35:21.140 回答