0

オブジェクトの取得方法を知りたいです。

私は3つのテーブルを持っています:

Categories -
 -- Category_ID
 -- Category_Deleted
 -- Category_Date_Creation

Languages
 -- Language_ID
 -- Language_Code
 -- Language_Name

Category_Names
 -- Category_ID
 -- Language_ID
 -- Category_Name_Value

これらのテーブルから、クラスを作成しました:

 public class Language
 {
      public int Id;
      public string Code;
      public string Name;

      public static Language Covert(DataContext.Language lang)
      {
           return new Language() { Id = lang.Id, Code = lang.Code, Name = lang.Name }
      }
 }

 public class Catigory
 {
      public int Id;
      public DateTime DateCreation;
      public Dictionary<Language, string> Names;
 }

今、私はこのようなことをします:

 Catigory cat = (from catigory in DataContext.Categories where catigory.Id == ID 
      select new Catigory() { Id = catigory, DateCreation = catigory.DateCreation }).First();
 cat.Names = (from cn in DataContext.Category_Names 
             join l in DataContext.Languages on cn.Language_ID equals l.Language_ID
             where cn.Category_ID == cat.Id
             select new { Key = l, Val = cn.Category_Name_Value }).ToDictionary(ss => Language.Covert(ss.Key), ss => ss.Val);

だから私はLinqからCategoryオブジェクトを作成したいのですが、1つのクエリだけです。

4

0 に答える 0