我正在用EF4进行一些测试。我已经构建了一个包含一个表的简单数据库: 表:人 专栏:Id 列:名称
我的问题: 我对如何将数据从UI保存回我的数据存储区感到困惑。
我希望有人可以给我一些指导。感谢所有提前!如果您有任何问题,请告诉我。
答案 0 :(得分:0)
需要在表单上触发事件,无论是按钮单击事件还是其他一些UI事件。在Windows窗体中,如果双击设计器中的按钮,它将为您创建事件处理程序。
在事件处理程序中,您需要利用另一个类,或直接使用EF Context。由于您正在使用存储库的路径,您可以利用设计器文件中的存储库类,但我建议通过服务层应用任何业务逻辑(即UI调用服务层,服务层使用内部存储库) )。
这使代码保持独立,并且更易于维护/重用。
但是,要将数据保存到数据存储区,它可能看起来像这样......
public void SetPersonName(int personID, string personName)
{
var context = new PersonContext(myConnectionString);
var person = context.Persons.Where(x => x.PersonID == personID).FirstOrDefault();
if(person == null)
{
throw new InvalidOperationException("Boo Hoo, person ID is invalid");
}
person.Name = personName;
context.SaveChanges();
}