简体   繁体   English

英孚核心。 从多对多关系中获取数据

[英]EF Core. Get data from many-many relationship

I'm new to EF Core.我是 EF Core 的新手。 I have many-many relationship between 2 tables.我在 2 个表之间有很多关系。 In total, I have these 3 tables:我总共有这 3 个表:

  1. Tenant.租户。
  2. UserTenant.用户租户。
  3. User.用户。

User has property "email".用户具有属性“电子邮件”。 I want to get all tenants that are related to user by given user email. How to do that?我想获取给定用户 email 与用户相关的所有租户。该怎么做? I would do something like this but I think is bad approach.我会做这样的事情,但我认为这是不好的做法。

var user = await dbContext.Users.FirstAsync(u => u.Email == userEmail);
var userTenants = dbContext.UserTenants.Where(u => u.UserId == user.Id);
etc...

What you could do is to create a Class ex:你可以做的是创建一个 Class ex:

   public class UserEmailViewModel
{
    public int Id { get; set; }
    public string Email{ get; set; }

}

and Then然后

var userEmail = await dbContext.SqlQuery<UserEmailViewModel>("select Id, Email from User U , Tenant T , UserTenant UT where u.id=ut.Userid and t.Id=UT.TenantId ")

Note That you should add Properties to UserEmailViewModel if you want to add column to the query请注意,如果要将列添加到查询,则应将 Properties 添加到 UserEmailViewModel

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM