Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM Новый топик    Ответить
 multiply context (Entity FrameWork, Code First)  [new]
xslowMorph
Member

Откуда:
Сообщений: 44
Добрый день!
В проекте используется несколько контекстов, для разделения предметной области.
Есть базовые классы, которые используется в нескольких контекстах одновременно.

Проблема заключается в том, что нужно одновременно использовать в двух контекстах, один класс, в котором определены fk и описаны навигационные свойства.

Описать все зависимые таблице как базовые классы не имеет смысла, т.к. практически каждая таблица имеет ссылки.

Важно отметить что использовать навигационные свойства, нужно лишь в одном контексте, в другом контексте они не нужны.

Проблема состоит в том как это реализовать.

Можно привести пример:

[Table("Persons")]
public class PersonBase
{
   public int Id {get; set;}

   public string Name {get; set;}

   public int PositionId {get; set;}
}



public class Position
{
   public int Id {get; set;}
   public string Title {get; set;} 
}

public class Person : PersonBase
{
   public virtual Position Position { get; set;}
}


public class PersonFinancialModel  : PersonBase
{

}

public class LegalEntity
{
   public int Id {get; set;}
   public int Name {get; set;}
   public int PersonId {get; set;}
   public virtual PersonFinancialModel Person {get; set;}

}


public MainContext : DbContext{

    public DbSet<Person> Persons {get; set;}
    public DbSet<Position> Positions {get; set;}
}

public FinancialContext : DbContext{
   public DbSet<PersonFinancial> PersonFinanciales {get; set;}
   public DbSet<LegalEntity> LegalEnities {get; set;}
}


т.е. в FinancialContext нам не важно знать, что у LegalEnitity есть навигационное свойство Position

проблема заключается в том, что компилятор не позволяет реализовать подобное.
можно ли это как-нибудь обойти и реализовать?
18 мар 14, 15:28    [15746410]     Ответить | Цитировать Сообщить модератору
Все форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM Ответить