我正在使用實體框架。我的數據庫客戶和發票中有 2 個表。發票表有一列 CustomerID 作為外鍵引用客戶。我正在使用DataGrid具有以下列的一個,如圖所示。這DataGrid應該顯示來自發票表的數據和來自客戶表的客戶名稱。請幫我如何查詢這個?數據網格<DataGrid IsReadOnly="False" Margin="0 10 0 0" Background="white" Name="InvoiceGrid" AutoGenerateColumns="False"> <DataGrid.Columns> <DataGridTextColumn Header="Invoice ID" IsReadOnly="True" MinWidth="100"/> <DataGridTextColumn Header="Date" IsReadOnly="True" MinWidth="100" /> <DataGridTextColumn Header="Customer" IsReadOnly="True" MinWidth="250" /> <DataGridTextColumn Header="Quantity" IsReadOnly="True" MinWidth="80" /> <materialDesign:MaterialDataGridTextColumn IsReadOnly="True" Header="Total" MinWidth="150" /> 上下文類public partial class Intelliventory_DBEntities : DbContext{ public Intelliventory_DBEntities() : base("name=Intelliventory_DBEntities") { } protected override void OnModelCreating(DbModelBuilder modelBuilder) { throw new UnintentionalCodeFirstException(); } public virtual DbSet<Category> Categories { get; set; } public virtual DbSet<Customer> Customers { get; set; } public virtual DbSet<Employee> Employees { get; set; } public virtual DbSet<Invoice> Invoices { get; set; } public virtual DbSet<InvoiceItem> InvoiceItems { get; set; } public virtual DbSet<Product> Products { get; set; } public virtual DbSet<Purchase> Purchases { get; set; } public virtual DbSet<Supplier> Suppliers { get; set; } public virtual DbSet<sysdiagram> sysdiagrams { get; set; }}
1 回答

回首憶惘然
TA貢獻1847條經驗 獲得超11個贊
如果Customer是 的導航屬性Invoice,您可以使用預先加載來加載它,例如:
var context = new Intelliventory_DBEntities();
InvoiceGrid.ItemsSource = context.Invoices.Include(x => x.Customer).ToList();
//...
context.Dispose();
然后,您可以將該列綁定到導航屬性:
<DataGridTextColumn Header="Invoice ID" Binding="{Binding InvoiceID}" IsReadOnly="True" MinWidth="100"/>
<DataGridTextColumn Header="Date" Binding="{Binding Date}" IsReadOnly="True" MinWidth="100" />
<DataGridTextColumn Header="Customer" Binding="{Binding Customer.CustomerName}" IsReadOnly="True" MinWidth="250" />
- 1 回答
- 0 關注
- 202 瀏覽
添加回答
舉報
0/150
提交
取消