Как да посочите име на база данни за конкретен клас или обект в EF?

Използваме две бази данни, тъй като трябва да наследя само този модел или таблица с обекти. За това как да посочите име на база данни за конкретен клас или таблица на обект в работа с рамка на обект. Възможно е?

Database Name: "Test1"

public class User : BaseEntity
{        
    public string Email { get; set; }
    public string Password { get; set; }
}

Сега как да зададете този модел като свойство за навигация в друг модел. като,

Database Name: "Test2"

public class Test: BaseEntity
{
  public int UserId { get; set; }

  public virtual User User { get; set; }
}

public class BaseEntity
{
   public int Id { get; set; }
}

person Thulasiram    schedule 17.07.2012    source източник
comment
Въпросът ви е малко объркващ. Може би трябва да опитате да покажете, може би в псевдокод, какво се опитвате да постигнете?   -  person J. Steen    schedule 17.07.2012
comment
@steen: сега редактирах въпроса, можете да го видите.   -  person Thulasiram    schedule 17.07.2012
comment
Това не е наследяване, това е свойство за навигация. Какво се опитвате да постигнете с това и какъв е проблемът ви? =)   -  person J. Steen    schedule 17.07.2012
comment
@steen: трябва да получа този потребителски обект автоматично. възможно е?   -  person Thulasiram    schedule 17.07.2012
comment
Данните, представени от обекта User, съхраняват ли се в база данни, различна от Test в този случай?   -  person J. Steen    schedule 17.07.2012
comment
да потребителската таблица е в друга база данни, трябва да получа този потребителски обект.   -  person Thulasiram    schedule 17.07.2012
comment
Тогава не, не може да стане автоматично. Можете да настроите свързан сървър в SQL базата данни и да създадете изглед, който сочи към вашата таблица User. Например.   -  person J. Steen    schedule 17.07.2012
comment
Всъщност. Този отговор може да ви помогне: stackoverflow.com/questions/6036357/   -  person J. Steen    schedule 17.07.2012
comment
нека да продължим тази дискусия в чата   -  person Thulasiram    schedule 17.07.2012


Отговори (2)


Entity Framework DbContext може да обработва една база данни. Тогава трябва да имате две DbContext за вашите две бази данни.


Актуализация:

Съветвам те да не правиш това. с други думи, вие вашата база данни и вашият модел трябва да са в хармония "Обичам тази дума :)"

И всичко извън това предполагам, че трябва да бъде в класа на услугата "Слой".

Така че във вашия пример предполагате, че имате UserService клас, за да получите вашия потребител и не правете тази логика в Test класа.

Още едно нещо, което трябва да забележите: Ако вашият модел е свързан заедно по този начин, тогава трябва да имате само една база данни.

person Wahid Bitar    schedule 17.07.2012
comment
сега как да наследя този модел в друг модел. like, public virtual User User { get; комплект; } - person Thulasiram; 17.07.2012

Ако искате да inherit вашия клас от User клас, това е така

public class Test: User 
{
   public int UserId { get; set; } 
}

Сега класът Test ще има всички свойства на базовия клас (User) заедно със собственото си свойство UserId

person Shyju    schedule 17.07.2012