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 对象。

4

0 回答 0