У меня есть следующие отношения родитель-потомок:
Родительская сущность:
[Table("PHOTO_DATA")]
public class PhotoData
{
public PhotoData()
{
PhotoBlob = new BlobData();
}
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[Column("PHOTO_N")]
public long IdNumber { get; set; }
...
public virtual BlobData PhotoBlob { get; set; }
}
Дочерняя сущность:
[Table("BLOB_DATA")]
public class BlobData
{
[Key]
[Column("PHOTO_N")]
public long IdNumber { get; set; }
[Column("FILE_IM", TypeName = "BLOB")]
public byte[] FileImage { get; set; }
public virtual PhotoData Photo { get; set; }
}
В моем DBContext отношение определено имеет от 1 до 0..1 PhotoData может иметь 0 или 1 BlobData
modelBuilder.Entity<PhotoData>()
.HasOptional(photo => photo.PhotoBlob)
.WithRequired(blob => blob.Photo);
Теперь я хочу загрузить PhotoData с соответствующим PhotoBlob, используя следующую команду:
var data = dbcontext.PhotoDatas.Include(x => x.PhotoBlob).Where(s => s.IdNumber == id).FirstOrDefault();
И Я получаю следующую ошибку:
Multiplicity constraint violated. The role 'PhotoData_PhotoBlob_Target' of the relationship 'Data.PhotoData_PhotoBlob' has multiplicity 1 or 0..1.
Как решить проблему?