天天看点

linq to sql查询中返回linq自动建立的实体类型)

编辑器加载中... ////// UserBases扩展类,只在返回实体时用 ///public class User_BasesExt : User_Bases { } ////// (LINQ) UserBases分部类扩展 ///public partial class User_Bases : IEntity { ////// 用户详细信息 ///public UserInfos UserInfos_Extend { get; set; } ////// 用戶地址实体 ///public IQueryable UserAddress_Extend { get; set; } public UserAddress UserAddress { get; set; } ////// 统一主键 ///

public object[] PrimaryKey { get { return new object[] { this.UserID }; } } } 下面代码将实现返回linq自动建立的实体(默认情况下,linq不支持这样建立) public IQueryable GetDetailModel() { IQueryable linq1 = from data in new Repository().GetModel() select new UserAddress_Ext { UserID = data.UserID, ID = data.ID, Address = data.Address, }; var linq = from data in LoadRepository().GetModel() join data2 in LoadRepository().GetModel() on data.UserID equals data2.UserID let list = linq1.Where(i => i.UserID == data.UserID) select new User_BasesExt { UserID = data.UserID, UserName = data.UserName, CreateDate = data.CreateDate, Email = data.Email, Status = data.Status, UpdateDate = data.UpdateDate, UserInfos_Extend = data2, UserAddress_Extend = list, }; return linq; }