データベース内のエンティティとの関係が不明な多くの異なるドキュメントを含むエンティティがあります。
public class Document : BaseEntity
{
public string Filename { get; set; }
public string MIMEType { get; set; }
public int? Length { get; set; }
public byte[] Content { get; set; }
}
codefirst-mappingは次のとおりです。
public DocumentConfiguration()
{
Property(x => x.Filename).HasMaxLength(300).IsRequired();
Property(x => x.MIMEType).HasMaxLength(300).IsRequired();
Property(x => x.Length).IsOptional();
Property(x => x.Content).IsOptional().HasColumnType("varbinary(max)");
ToTable("Document");
}
ここで、次のように、アドレス内のdocument-tableへのオプションの関係が必要です。
public class Address : BaseEntity
{
public string Name1 { get; set; }
public string Name2 { get; set; }
public string Additional { get; set; }
public string Street { get; set; }
public string HousNr { get; set; }
public string ZipCode { get; set; }
public string City { get; set; }
public virtual Document Image { get; set; }
}
次のマッピングを使用します。
public AddressConfiguration()
{
Property(x => x.Name1).IsRequired().HasMaxLength(250);
Property(x => x.Name2).HasMaxLength(250);
Property(x => x.Additional).HasMaxLength(250);
Property(x => x.Street).HasMaxLength(250);
Property(x => x.HousNr).HasMaxLength(10);
Property(x => x.ZipCode).HasMaxLength(10);
Property(x => x.City).HasMaxLength(100);
HasOptional(x => x.Image)
.WithOptionalDependent()
.Map(map => map.MapKey("ImageId")).WillCascadeOnDelete();
ToTable("Address");
}
しかし、ドキュメントテーブルの画像を削除すると、関連するアドレスが削除されます。
OneWay-アドレスからドキュメントへの削除を希望しますが、ドキュメントからアドレスへの削除は希望しません...?
どうすればそれを実装できますか?
ありがとうございました。