“属性或索引不能被分配到 - 它是只读”更新数据库记录,只有当阅读
我看到很多类似的问题,虽然似乎没有真正帮助我。
我正在更新我的数据库中的一些行。
首先,我打电话给我的数据:
var projects = (from p in _ProjectRep.GetAll()
join cl in _ClientRepo.GetAll() on p.ClientID equals cl.ClientID
where p.IsOpen == true && p.Tasks.Any(t => t.TimeEntries.Any(te => te.DateEntity >= dateLimit)) == false && p.Tasks.Any(te => te.TimeEntries.Any())
select new {
TickProjectID = p.TickProjectID,
ClientName = cl.ClientName,
ProjectName = p.ProjectName,
IsOpen = p.IsOpen,
DateClosed = p.DateClosed
}).ToList();
然后我通过数据尽量循环,并更新这些记录的特定字段。
foreach (var item in projects)
{// Update projects to closed.
item.IsOpen = false;
item.DateClosed = DateTime.Now;
}
,最后保存数据..
// updates changes to OUR db.
var affectedCount = _UnitOfWork.SaveChanges();
但我不断收到这个错误,我不知道该怎么办才好。 我能读的是关于get/set的东西,但我没有这些, ,我不明白为什么这些应该是nessesary?
希望有人能给出一个明确的解决方案,这可能会帮助我。
编辑
private readonly ProjectRepository _ProjectRep;
_ProjectRep = new ProjectRepository(unitOfWork);
是否可以包含'_ProjectRep'类的定义 –
@非幸运添加了我称之为的地方,那是你的意思? – andrelange91
'_ProjectRep'被定义为只读,所以它不会允许你更新 –