私はLINQが新しく、実行時に入力された変数に基づいて照会するテーブルを選択するクエリを作成しようとしています。基本的な考え方は、Personsテーブルの各人物用のContactsテーブルがあることです。私はエンティティから必要なすべてのデータを取得することができますが、私はクエリ時に他のテーブルを見つけることができません。ここにコードがあります。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やEntity Frameworkなど、実際にデータベースに接続するようなことはありませんか? FillDataSetは、DataAdapterクラスの1つ(SqlDataAdapter、OdbcDataAdapterなど)のインスタンスメンバーです。 http://msdn.microsoft.com/en-us/library/ms171920(v=vs.80).aspx – nvuono
@ユーフォリックを参照してください。「Personsテーブルの各人の連絡先表があります」 - 彼が言ったことは完全です彼は物事に客観的な視点を持っています。だから、インピーダンスの不一致があり、オブジェクトの観点から考えていますが、彼が使用しているコンポーネント(ADO.NET)は、事実上のリレーショナル・ルックをサポートしています。彼はオブジェクトの面で作業できるようにORMを使用するべきです –
@MichaelBuenそれは、SQLがどのように動作するかについての基本的な知識を持っていないことを許しません。 – Euphoric