EF - context.Set<t> 与 context.T

Orc*_*usZ 5 c# entity-framework

自一个月以来,我想知道使用context.Set 与 context.T而不是语法有什么区别。

我用这个快速代码来说明这个问题,该代码试图从 EF 上下文的用户表信息中获取用户名。

context.Set 方法

context.Set<User>().Where(u => u.Id = userId).Select(u => u.UserName).Single();
Run Code Online (Sandbox Code Playgroud)

context.T 方法

 context.Users.Where(u => u.Id = userId).Select(u => u.UserName).Single();
Run Code Online (Sandbox Code Playgroud)

谢谢 :)

Loe*_*etn 4

正如鲁福爵士已经指出的那样,没有什么区别。您可以使用

context.Users
Run Code Online (Sandbox Code Playgroud)

因为您Users在上下文类中声明了一个类型为的属性DbSet<User>

 public DbSet<User> Users { get; set; }
Run Code Online (Sandbox Code Playgroud)