2

所以类似的问题已经被问到没有太多的答案......

我有一个与分支表相关的统计表。Stats 记录包含特定银行分行的 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 有很多字段,现在我想我会全部输入......但是没有解决方案吗?*防止输入所有字段......像 * 通配符?

尝试过相交,但是类型必须相同!

谢谢吉迪恩

4

1 回答 1

1

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
  };

创建具有一个 Stats 和一个 Branch 的匿名实例。


2

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
  };

使用一个 Branch 及其 Stats 创建匿名实例。


3

var stats =
  from b in store.Branches
  select new 
  { 
    Branch = b
    Stats = b.Stats
  };

2,如果设计器中两种类型之间存在关联,则每种类型都会生成一个关系属性。


4

DataLoadOptions dlo = new DataLoadOptions()
dlo.LoadWith<Branch>(b => b.Stats);
store.LoadOptions = dlo;

List<Branch> branches = store.Branches.ToList();

在这里,DataLoadOptions 被指定为在加载任何分支时自动填充 Stats 属性。

于 2010-06-19T13:55:31.407 回答