Один вариант - пометить весь метод атрибутом [ContractVerification (false)]:
public partial class DatabaseContext : DbContext
{
[ContractVerification(false)]
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<User>()
.HasOptional(x => x.Profile).WithRequired(x => x.User);
base.OnModelCreating(modelBuilder);
}
}
Еще один - добавить десятки контрактов.Проверка Assume ():
public partial class DatabaseContext : DbContext
{
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
Contract.Assume(modelBuilder != null);
var userEntity = modelBuilder.Entity<User>();
Contracts.Assume(userEntity != null);
var profileEntity = userEntity.HasOptional(x => x.Profile);
Contracts.Assume(profileEntity != null);
profileEntity.WithRequired(x => x.User);
base.OnModelCreating(modelBuilder);
}
}
Какие еще варианты у нас есть?Какой из них вы предпочитаете?