我是LINQ的新手,並嘗試編寫一個查詢,該查詢根據運行時輸入的變量選擇要查詢的表。基本的想法是,我有一個人名錶中每個人的聯繫人表。我可以從實體中獲取所需的所有數據,但查詢時找不到其他表格。這是代碼;LINQ選擇一個表在運行時查詢
public void GetFriendsList(string username, Person[] people)
{
string table = "FL." + username;
DataTable friends = new DataTable(table);
var filePaths =
from row in friends.AsEnumerable()
select row.Field<string>("Friend's Name");
var friendsArray = filePaths.ToArray();
for (int i = 0; i < people.Length; i++)
{
people[i] = GetPerson(friendsArray[i]);
}
}
我也試着用類似於下面的東西做這個,但是VS沒有識別FillDataSet函數。
DataSet ds = new DataSet();
ds.Locale = CultureInfo.InvariantCulture;
FillDataSet(ds);
DataTable products = ds.Tables[table];
任何意見讚賞,抱歉的模糊。我假設我缺少連接字符串或其他東西。我已經完成了這一步,而且代碼顯然不能連接到表格。
它看起來不像是使用Linq2Sql或實體框架或任何實際連接到數據庫的東西? FillDataSet是其中一個DataAdapter類(SqlDataAdapter,OdbcDataAdapter等)上的實例成員。請參閱http://msdn.microsoft.com/en-us/library/ms171920(v=vs.80).aspx – nvuono
@Euphoric「我有一個Person表中的每個人的聯繫人表」 - 他說的是完美的好的,他是對事物的反對觀點。所以阻抗不匹配,他認爲在對象方面,但他使用的組件(ADO.NET)只是支持關係查看事物,實際上幾乎是原始的,幾乎是平坦的。他應該使用ORM,以便他可以在對象方面工作 –
@MichaelBuen這並不能讓他不知道SQL如何工作。 – Euphoric