TPH アーキテクチャに基づいPicture
て、関連するエンティティ ( ) を保持するエンティティ ( ) を挿入する必要があります。Ad
Picture
モデル:
public class Picture
{
// Primary properties
public int Id { get; set; }
public string Name { get; set; }
}
public class AdPicture : Picture
{
public Ad Ad { get; set; }
}
Ad
モデル:
public class Ad
{
// Primary properties
public int Id { get; set; }
public string Title { get; set; }
}
public class AdCar : Ad
{
public int? CubicCapacity { get; set; }
public int? Power { get; set; }
}
Picture
に新しいを挿入したいのですがAdCar
、試しました:
AdPicture picture = new AdPicture()
{
Ad = _adRepository.GetById(adId),
Filename = newFileName
};
_pictureService.CreateAdPicture(picture);
CreateAdPicture:
public void CreateAdPicture(AdPicture adPicture)
{
_adPictureRepository.Add(adPicture);
_adPictureRepository.Save();
}
しかし、エンティティフレームワークは言う
*列名「AdCar_Id」が無効です。*
SQLコマンドテキストを確認すると、
insert [dbo].[Pictures]([Name], [Filename], [URL], [Rank], [Discriminator], [PictureType_Id], [AdCar_Id], [Ad_Id])
values (null, @0, null, @1, @2, @3, @4, null)
入れてるAdCar_Id
のにAd_Id
なんで?Picture
関連するを挿入するにはどうすればよいAdCar
ですか?