所以类似的问题一直没有得到答案......
我有一个与分支表相关的统计表。统计记录包含特定银行分行的pc统计数据。
Branch
+Code
+Name
+Area
...
Stats
+BranchCode
+IP
+UpSpeed
+DownSpeed
...
这是我的linq查询...
var stats = from st in store.Stats
join b in store.Branches on st.BranchCode equals b.Brcd
select new
{
st.ID,st.IP,st.Name,b.Brcd,b.Branch_Name..............
};
问题是st和b有很多字段,现在我想我会输入所有字段......但是没有解决方案吗? *防止输入所有字段...类似*通配符?
尝试交叉但是类型需要相同!
由于 吉丁
答案 0 :(得分:1)
var stats =
from st in store.Stats
join b in store.Branches on st.BranchCode equals b.Brcd
select new
{
Stats = st,
Branch = b
};
使用一个统计信息和一个分支创建匿名实例。
var stats =
from b in store.Branches
join st in store.Stats
on b.Brcd equals st.BranchCode
into branchstats
select new
{
Branch = b
Stats = branchstats
};
使用一个分支及其统计信息创建匿名实例。
var stats =
from b in store.Branches
select new
{
Branch = b
Stats = b.Stats
};
与 2 相同,如果设计器中的两种类型之间存在关联,则会在每种类型上生成关系属性。
DataLoadOptions dlo = new DataLoadOptions()
dlo.LoadWith<Branch>(b => b.Stats);
store.LoadOptions = dlo;
List<Branch> branches = store.Branches.ToList();
此处指定了DataLoadOptions,可在加载任何分支时自动填充Stats属性。