假设我创建了一个新实体并按如下方式保存:
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。
我想替换附加了另一组(已存在于数据库中)的Columns集。
savedReport.Columns = newColumnCollection
此操作失败,并且无法设置类型UserReport_etc'上的“属性列”,因为集合已设置为EntityCollection“
我看过这个article:问题是一样的,但是我不能使用那个解决方案。
解决这个问题的正确方法是什么?
答案 0 :(得分:0)
好的 - 看起来只是将非导航属性设置为不是虚拟的情况。
这是一个奇怪的情况,因为被修改的行为属于虚拟的属性。