2017-10-06 59 views
1

我的SQL Server表只有10列,並且在SQL中運行select * from table命令,我可以看到只有10列。然而,當我使用的電火花在C#窗口形成數據網格圖,它示出13列,所述另外的4列我從外鍵懷疑:C#edm datagridview將外鍵顯示爲不在SQL Server表中的附加列

SQL Table View

我使用的代碼:

public partial class Form1 : Form 
    { 
     SA45Team02bLibraryEntities context; 

     public Form1() 
     { 
      InitializeComponent(); 
      context = new SA45Team02bLibraryEntities(); 
      dataGridView1.DataSource = (from x in context.IssueTransactions select x).ToList(); 
     } 
    } 

下面是在DataGridView顯示的內容:

datagridviewtable

表的前與SQL Server表視圖中的內容相同,但額外的4列與該表上的外鍵數量相對應。出現相同數量的額外列對應於我在其他表上的外鍵數量。

有沒有人遇到過這之前,有沒有什麼辦法來解決這個問題,而不是隻選擇我想手動顯示的列?

+0

我懷疑這是一種避免這種方式,而不是使用投影到匿名類型。例如:'context.IssueTransactions.Select(x =。new {x.a,x.b,...})' – ESG

回答

1

如果我們談論的DataGridView,只需設置

dataGridView1.AutoGenerateColumns = false 

然後確保DataPropertyName數據源的列名相匹配。

否則像@ESG所說的那樣,當你做選擇時使用匿名類型。