【发布时间】:2011-01-01 10:38:27
【问题描述】:
我正在使用 SQL CE、WPF、Entity framework 3.5sp2 开发 POS 应用程序,并且我正在尝试使用数据网格作为我的 Order Entry Control 以供用户输入 Products Order 。 我计划将此绑定到 enitiy frmae 工作模型,寻找 2 方式更新?
private void button1_Click(object sender, RoutedEventArgs e)
{
using (MasterEntities nwEntities = new MasterEntities())
{
var users = from d in nwEntities.Companies
select new CompanyRowModel{ CompanyId = d.CompanyId, CompanyName d.CompanyName, Place = d.Place }
listBox1.DataContext = users;
dataGrid1.DataContext = users;
}
}
public class CompanyRowModel
{
public int CompanyId { get; set; }
public string CompanyName { get; set; }
public string Place{ get; set; }
}
我的 xaml 编码是这样的
<Grid>
<ListBox Name="listBox1" ItemsSource="{Binding}" />
<Button Content="Show " Name="button1" Click="button1_Click" />
<DataGrid AutoGenerateColumns="False" Name="dataGrid1" ItemsSource="{Binding}" >
<DataGrid.Columns>
<DataGridTextColumn Header=" ID" Binding="{Binding CompanyId}"/>
<DataGridTextColumn Header="Company Name" Binding="{Binding CompanyName}"/>
<DataGridTextColumn Header="Place" Binding="{Binding Place}" />
</DataGrid.Columns>
</DataGrid>
<Button Content="Save" Name="button2" VerticalAlignment="Bottom" Click="button2_Click" />
</Grid>
已编辑:
我进行了@vorrtex 显示的更改,但是,然后我添加了另一个按钮来保存更改,并在按钮单击事件中添加了以下代码,但显示更新错误
private void button2_Click(object sender, RoutedEventArgs e)
{
nwEntities.SaveChanges();
}
【问题讨论】:
-
还有另一种方法:只写“var users = nwEntities.Companies.ToList()”。但是如果一个表的字段很大,这个解决方案会导致性能问题。
标签: c# wpf entity-framework entity frame