У меня есть вопрос, на который кто-то мог найти решение в прошлом. Я посеял базу данных в классе конфигурации миграции EF5, используя метод AddOrUpdate.
Ниже приведен краткий пример модели домена:
public class Club
{
public virtual long Id { get; set; }
public virtual string Name { get; set; }
}
public class Court
{
public virtual long Id { get; set; }
public virtual string Name { get; set; }
public virtual long? ClubId { get; set; }
public virtual Club Club { get; set; }
}
Затем вот выдержка из моего метода семени:
Club cb = new Club { Name = "Test Club 1" };
context.Set<Club>().AddOrUpdate(m=>m.Name, cb);
context.SaveChanges();
Court crt1 = new Court { ClubId = cb.Id, Name = "Court 1" };
Court crt2 = new Court { ClubId = cb.Id, Name = "Court 2" };
context.Set<Court>().AddOrUpdate(m => new { m.Name, m.ClubId }, crt1, crt2);
context.SaveChanges();
Теперь, когда код достигнет номера строки 7, он выдает ошибку:
Бинарный оператор Equal не определен для типов "System.Nullable`1 [System.Int64]" и "System.Int64".
Из моего расследования это связано с тем, что ClubId является Nullable long.
Есть ли способ обойти это?
Не главная проблема - я просто перфекционист, и хотел бы видеть, как другие могли решить это...
Спасибо, Николь Голобородко