实体框架 DBContext 数据绑定问题
Posted
技术标签:
【中文标题】实体框架 DBContext 数据绑定问题【英文标题】:Entity Framework DBContext Databinding Issues 【发布时间】:2011-12-18 21:57:33 【问题描述】:使用 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。
我想向实体属性设置器添加逻辑;但每次更新模型时都会重写。
谢谢。
【问题讨论】:
我的 Winforms 知识很差。但我认为您应该检查可视化组件的一些令人耳目一新的属性(据我了解,数据库中出现了一条新记录)。 【参考方案1】:关于第二个问题。 自动更新类是模型首先工作的方式。 您可以阅读EF 4.1 Code-first vs Model/Database-first 了解更多信息。 有时候修改T4 template很方便。但我不建议更改 getter/setter。相反,添加一些数据注释属性可能会很有用。你可以在 MSDN 上阅读如何使用它:Using Data Annotations to Customize Data Classes How to: Validate Model Data Using DataAnnotations Attributes
【讨论】:
【参考方案2】:在数据绑定内部使用 on 属性更改
textBox1.DataBindings.Add("Text",order,"OrderAmount",true,System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged);
【讨论】:
以上是关于实体框架 DBContext 数据绑定问题的主要内容,如果未能解决你的问题,请参考以下文章
实体框架在 Visual Studio 中失去与连接字符串的绑定