|
|
1
2
他们做同样的事情。真正的问题是你什么时候用一个而不是另一个。 当知道要使用的实体类型时,可以使用dbset。只需编写dbContext名称,然后编写实体类型名称,就可以使用可用的实体方法为此实体创建、读取、更新或删除条目。你知道你想要什么,你知道在哪里做。 当您不知道要使用的实体类型时,可以使用set。例如,您希望构建一个类,该类执行存储库功能,以创建、读取、更新和删除实体的条目。您希望这个类可以重用,这样您就可以在它上面传递一个dbContext,它将使用相同的create、read、update和delete方法。您不确定将在哪个dbContext上使用它,或者dbContext将具有哪个dbset。这里是使用泛型的时候,这样类就可以被任何dbContext用于任何dbset。 下面是一个类的例子,您可以使用它在任何dbContext中的任何dbset上创建任何实体。
这就是如何使用它。
如果您想了解更多关于泛型的信息,这里有一个链接。太棒了。 https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/generics/ |
|
2
2
不幸的是,目前你在官方文件中找不到解释,主要是因为这些都是 功能上 当量。
首先,
通用的
方法
第二,
这个
重要的区别实际上是EF核心 Including & Excluding Types 公约:
所以当你可以保留你的
|
|
|
3
0
它们是相同的,实际上返回相同的
一个不包括
另外,如果你不暴露
|
|
|
A B · C#Excel自动调整列避免长文本时出错 1 年前 |
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 1 年前 |
|
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 1 年前 |
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 1 年前 |