天天看點

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