簡體   English   中英

在 Linq C# 中獲取鏈接的 Object 值

[英]Get linked Object values in Linq C#

我在下面有一個表格行。

表 1:用戶

用戶ID,Email,......

表 2:用戶資料

配置文件 ID、用戶 ID、配置文件名稱、....

在 Users.UserId 中的FK --> UserProfile.UserId

當我得到如下數據時..它只檢索用戶 Object 值。我還需要獲取用戶配置文件對象值。

 var returnObj = _context.Users.Where(x => x.UserId == userId).FirstOrDefault();
 var returnData = _entityMapper.Map<Users, UsersDTO>(returnObj);

如下設計 User 和 UserProfile 類:

public class User
{

    public int Id { get; set; }
    public string Email { get; set; }
    public UserProfile UserProfile { get; set; }
}

public class UserProfile
{
    public int Id { get; set; }
    public string ProfileName { get; set; }
    public int UserId { get; set; }

    public User User { get; set; }
}

它們是一對一相關的實體,所以

    modelBuilder.Entity<User>()
            .HasOne(_ => _.UserProfile)
            .WithOne(_ => _.User);

最后,加載您的數據:

  var result = _context.Users.Include( _ => _.UserProfile).Select( _ =>  new
        {
            Email = _.Email,
            ProfileName = _.UserProfile.ProfileName,
        }
         ).ToList();

這是基於 EF Core

如果您使用的是 EF Core,請閱讀有關 加載相關數據的文檔

如果您使用的是 EF 6,請閱讀有關 加載相關數據的文檔

LINQ-to-SQL 現在真的很老了(它在 10 年前就已經死了)並且已經過時了。 如果你確實在使用它,谷歌為“LINQ to sql loading related data”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM