NWDataContext context = new NWDataContext();
var model = context.Mapping;
//get all tables
foreach (var mt in model.GetTables())
{
Console.WriteLine("Getting data " + mt.TableName);
//generate a sql statment for each table - just grab the first 20
string sql = String.Format("Select Top 20 * from {0} ", mt.TableName);
var data = context.ExecuteQuery(mt.RowType.Type, sql);
//data is here now. Lets print it on the console
foreach (var item in data)
{
Console.WriteLine(item.ToString());
}
}
Console.ReadLine();
有沒有辦法讓10行,而不使用SQL字符串?
對於類似於此示例東西(它得到表關聯,我以後表數據,而不是表協會10(N)行):
var tableData = from t in this.Mapping.GetTables()
select new
{
t.TableName,
Associations =
from a in t.RowType.Associations
select new
{
a.ThisMember.Name,
TypeName = a.ThisMember.Type.Name
}
};
tableData.Dump();
我認爲這是錯過了一點,因爲它需要你在編譯時知道表名。 (而且這似乎是一種複雜的寫作方式'var result = database.Context.SomeTableName.Take(10).ToList()') – sgmoore
同樣也適用。謝謝, –