Я использовал подход Code First для Entity Framework.У меня есть класс Event, класс Band и класс EventBands, который отображает отношения многие ко многим.Подход Code First работал хорошо (когда у меня не было класса EventBands), но затем я решил, что хочу, чтобы таблица «многие ко многим» сохраняла дополнительные значения.Теперь я получаю это сообщение об ошибке:
System.Data.Edm.EdmEntityType:: EntityType 'EventBands' не определен ключ.Определите ключ для этого EntityType.
System.Data.Edm.EdmEntitySet: EntityType: EntitySet EventBands основан на типе EventBands, для которого не определены ключи.
Очевидно, что означает сообщение об ошибке.,Однако разрешение не так очевидно.Я думаю, что я должен переопределить метод привязки модели, но я не совсем уверен, как сопоставить ключи с этим подходом.
Буду признателен за любую помощь, я включил указанные ниже классы.
Заранее спасибо,
Джон
Событие:
#region Properties
private int eventId;
public int EventId
{
get
{
return eventId;
}
set
{
eventId = value;
}
}
private string name;
public string Name
{
get
{
return name;
}
set
{
name = value;
}
}
private string description;
public string Description
{
get
{
return description;
}
set
{
description = value;
}
}
private DateTime startDatetime;
public DateTime StartDateTime
{
get
{
return startDatetime;
}
set
{
startDatetime = value;
}
}
private DateTime endDatetime;
public DateTime EndDateTime
{
get
{
return endDatetime;
}
set
{
endDatetime = value;
}
}
private int venueUserId;
public int VenueUserId
{
get { return venueUserId; }
set { venueUserId = value; }
}
public virtual Venue Venue
{
get;
set;
}
public virtual ICollection<EventReview> Reviews
{
get;
set;
}
public virtual ICollection<EventBands> EventBands
{
get;
set;
}
public virtual ICollection<Fan> Attendees
{
get;
set;
}
#endregion
#region Constructor
public Event()
{
EventBands = new HashSet<EventBands>();
Attendees = new HashSet<Fan>();
StartDateTime = DateTime.Now;
EndDateTime = DateTime.Now.AddDays(14);
}
#endregion
Band:
public class Band : PostableUser
{
#region Properties
private int genreGenreId;
public int GenreGenreId
{
get { return genreGenreId; }
set { genreGenreId = value; }
}
public virtual Genre Genre
{
get;
set;
}
public virtual ICollection<Album> Albums
{
get;
set;
}
public virtual ICollection<BandReview> Reviews
{
get;
set;
}
public virtual ICollection<EventBands> EventBands
{
get;
set;
}
#endregion
#region Constructor
public Band()
{
EventBands = new HashSet<EventBands>();
}
#endregion
}
EventBands
#region Properties
private int eventEventId;
public int EventEventId
{
get { return eventEventId; }
set { eventEventId = value; }
}
public virtual Event Event
{
get;
set;
}
private int bandUserId;
public int BandUserId
{
get { return bandUserId; }
set { bandUserId = value; }
}
public virtual Band Band
{
get;
set;
}
private DateTime startDateTime;
public DateTime StartDateTime
{
get { return startDateTime; }
set { startDateTime = value; }
}
private DateTime endDateTime;
public DateTime EndDateTime
{
get { return endDateTime; }
set { endDateTime = value; }
}
#endregion
BandUserId наследуется от базового класса User.