Скажем, у нас есть 2 таблицыМогу ли я иметь свойства навигации на основе определенных полей (а не первичных ключей!), Уникальных или внешних ключей)?
public class Table1
{
[Key]
public int ID { get; set; }
public int ID2 { get; set; }
public int ID3 { get; set; }
}
public class Table2
{
[Key]
public int ID { get; set; }
public int ID2 { get; set; }
public int ID3 { get; set; }
}
Идентификатор столбца является первичным ключом в Table1 и в Table2, и вот оно!
Теперь, я хочу создать отношения (не в базе данных!); Я просто хочу солгать EntityFramework, что между этими двумя таблицами существует взаимосвязь.
Итак, я хочу ID2 от Table2 быть внешний ключ и ссылку не столбец ID из Table1, но колонка ID2.
Возможно ли это?
EDIT2
Я знаю, что можно что-то вроде
public class Table2
{
//...
public int ID2 { get; set; }
[ForeignKey("ID2")]
public Table1 Table1 { get; set; }
//...
}
и
public class Table1
{
//...
public virtual ICollection<Table2> Table2 { get; set; }
//...
}
Я успешно расширил все строки TABLE2 для определенной Table1 строки.
Присоединение к sql будет выглядеть так: Table1. ID = Table2.ID2; Мне нужно, чтобы это было как Table1. ID2 = Таблица2.ID2
Это не имеет никакого смысла для меня. Зачем вам «лгать» ef и иметь такие фальшивые отношения? – mr100
из-за модели, с которой я имею дело ... Существует таблица, где эти поддельные отношения предоставляются, и эта таблица часто изменяется. Поэтому при использовании консольного приложения я генерирую модель в любое время, когда эта таблица изменяется. Чтение edit2 – RazvanR