編集: (簡略化されたソリューション) N 個の写真を持つことができる広告エンティティに写真エンティティを挿入しようとしています。写真は広告に関連しています。
広告モデル:
public class Ad
{
public int Id { get; set; }
public string Title { get; set; }
public virtual ICollection<Picture> Pictures { get; set; }
}
画像モデル:
public class Picture
{
public int Id { get; set; }
public string URL { get; set; }
public int Ad_Id { get; set; }
public virtual Ad Ad { get; set; }
public int PictureType_Id { get; set; }
public virtual PictureType PictureType { get; set; }
}
PictureType モデル:
public class PictureType
{
public int Id { get; set; }
public string Name { get; set; }
}
広告サービス:
Picture picture = new Picture()
{
Ad_Id = adId,
Filename = newFileName,
PictureType_Id = pictureType.Id
};
_pictureService.CreatePicture(picture);
写真サービス:
public void CreatePicture(Picture picture)
{
_pictureRepository.Add(picture);
_pictureRepository.Save();
}
エラー: このコードによって生成されたクエリは次のとおりです。
Execute Reader "insert [dbo].[Pictures]([Name], [Filename], [URL], [PictureType_Id], [Ad_Id], [PictureType_Id1], [Ad_Id1]) 値 (null, @0, null, @ 1、@2、ヌル、ヌル)"
そして、私はエラーを取得します:
スローされる: 「列名 'PictureType_Id1' が無効です。列名 'Ad_Id1' が無効です。」(System.Data.SqlClient.SqlException) Exception Message = "Invalid column name 'PictureType_Id1'.\r\nInvalid column name 'Ad_Id1'.Exception Type = "System.Data.SqlClient.SqlException", Exception WinRT Data = ""