Я предполагаю, что это где-то покрыто, но я не могу найти.Думаю, я не использую правильные условия поиска.
В основном у меня есть таблица «многие ко многим», которую я определяю как POCO.Затем вы также можете посмотреть на нее как на таблицу с двумя отношениями «один ко многим», если хотите.
На одном конце есть таблица пользователя и таблица деления на другом конце.Однако каждая комбинация разделения пользователя может иметь несколько отношений, по одному на каждый год.Поэтому в ассоциированной таблице будет столбец int для года, а первичный ключ будет составным из UserId fk, DivisionId fk и Year.
Я не был уверен, как это сделать в EF 4.1 Code First.Я надеюсь, что есть способ DataAnnotation и FluentApi.
Если бы вы могли указать мне на учебник, который охватывает это, я был бы действительно счастлив.
Пользователь:
public class User
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int UserId { get; set; }
//some other properties
public virtual ICollection<DivisionService> Services { get; set; }
}
Разделение:
public class Division
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int DivisionId { get; set; }
//some other properties
public virtual ICollection<DivisionService> Services { get; set; }
}
Регистрация / Основной стол:
public class DivisionService
{
public int Year { get; set; } //this and the two foreign keys should be composite Primary Key
//some other properties
public virtual User User { get; set; }
public virtual Division Division { get; set; }
}