0

新しいエンティティを作成し、次のように保存するとします。

UserReport report = new UserReport() {//set the props}
manager.SaveUserReport(report)

Public UserReport SaveUserReport(UserReport report)
{
  using(var context = new ReportDatabase())
  {
    context.UserReports.AdObject(report);
    context.SaveChanges();
  }
  return report;
}

ここまでは順調ですね

次に、保存したレポートを読み返します

 savedReport = manager.GetUserReports(new int[] {report.Id}).FirstOrDefault();

 Public List<UserReport> GetUserReports(IEnumerable<int> reportIds)
 {
     using (var context = new ReportDatabase())
     {
        var reports = from UserReport in context.UserReports
          where reportIds.Contains(userReport.Id)
          select userReport;
          return visibleReports.ToList();
     }
 }

savedReport は添付された UserReport になりました

UserReport オブジェクトには、Columns のコレクションが関連付けられています。

アタッチされた列のセットを別のセット (データベースに既に存在する) に置き換えたいと考えています。

 savedReport.Columns = newColumnCollection

これは、コレクションが既に EntityCollection に設定されているため、「タイプ UserReport_etc のプロパティ列」を設定できません」というエラーで失敗します。

この記事を見てきました: 問題は同じですが、その解決策を使用できません。

これに取り組む正しい方法は何ですか?

4

1 に答える 1

0

OK - ナビゲーション以外のプロパティを仮想にしないように設定しただけのようです。

変更された動作が仮想のままのプロパティであることを考えると、これは奇妙な状況の 1 つです。

于 2012-06-15T17:46:27.127 に答える