实体框架 DBContext 数据绑定问题
使用 VS2010、C#、Winforms 和 Entity Framework 4.1
这是我的代码
var order = dbContext.Orders.Where(o=>o.OrderId == 1).Single();
var orderDetails = order.OrderDetails.ToList():
textBox1.Bindings.Add("Text", order, "OrderAmount");
gridView.DataSource = orderDetails;
我有以下关于 Entity Framework 4.1 的两个问题
如果我更新实体属性,新值不会反映到 UI。
我想向实体属性设置器添加逻辑;但每次更新模型时它都会被重写。
谢谢。
Using VS2010, C#, Winforms and Entity Framework 4.1
Here is my code
var order = dbContext.Orders.Where(o=>o.OrderId == 1).Single();
var orderDetails = order.OrderDetails.ToList():
textBox1.Bindings.Add("Text", order, "OrderAmount");
gridView.DataSource = orderDetails;
I have following two questions about Entity Framework 4.1
If I update an entity property, the new value is not reflected to the UI.
I want to add logic to an entity property setter; but it gets rewritten each time the model is updated.
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
关于第二个问题。
类的自动更新是模型首先工作的方式。
您可以阅读 EF 4.1 代码优先与模型/数据库优先了解更多信息。
有时修改 T4 模板会很方便。但我不建议更改 getter/setter。相反,添加一些数据注释属性可能会很有用。您可以在 MSDN 上阅读如何使用它:
使用数据注释自定义数据类
如何:使用 DataAnnotations 属性验证模型数据
About the second question.
Automatic updating of classes is how the model first works.
You can read EF 4.1 Code-first vs Model/Database-first for more information.
Sometimes it's convenient to modify the T4 template. But I don't recommend to change getters/setters. Instead adding some dataannotations attributes could be useful. You can read how to use it on MSDN:
Using Data Annotations to Customize Data Classes
How to: Validate Model Data Using DataAnnotations Attributes
内使用 on 属性更改;
在数据绑定textBox1.DataBindings.Add("Text",order,"OrderAmount",true,System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)
use the on property change inside of the databinding
textBox1.DataBindings.Add("Text",order,"OrderAmount",true,System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged);