我有一个“天真”的问题。
以下是示例代码:
public class ThisClass
{
public int ThisClassID { get; set; }
public string ThisValue { get; set;}
public ThisClass()
{
}
public ThisClass(int thisClassID)
{
using (MyContext dbContext = new MyContext())
{
this = dbContext.CaseNotes.Find(thisClassID);
}
}
}
当然,我收到了错误信息“Cannot assign to 'this' because it is read-only”。
我所知道的解决方法只有两种,一种是使用静态方法,另一种是分别对每个属性进行赋值。
是否有任何方法可以创建一个简单的构造函数来将数据库实体返回到“this”中?
更新:下面的两个答案都是正确的,但我只能接受一个答案。当潜在答案被删除时,有一些关于工厂和存储库模式的有趣讨论不幸被删除了。双方的观点都有些道理,有些人指出Entity Framework本身就是一个使用存储库模式的工厂。问题本身得到了三个赞成和两个反对的投票。
答案似乎是没有单一的答案。
MyContext
已经返回ThisClass
实例了,对吧?... 为什么还要再复制一遍呢? - Random Dev