我正在使用Entity Framework启动一个新的.NET MVC项目,我正在努力解决一些问题.
在我的模型中,我有大约150个实体(从数据库生成).只有一个DbContext是个好主意吗?如果没有,我应该如何划分我的实体?
如果我有一个DbContext并且我创建了一个实例化数据库上下文对象的类变量(在Controller中),那么这个DbContext会发生什么?它是否在内存中为每个实体创建了单独的空间?在我的情况下,当我有150个实体时,它不会非常有效.我错了吗?
我将在许多控制器中使用我的DbContext.创建一个MainController(我创建新的DbContext)是一个好主意,它将由其他控制器继承吗?因为这允许其他人访问相同的Context.
处理我的DbContext的最佳做法是什么?我已经读过使用依赖注入是一种好习惯.但是通过这种方式,我将不得不为每个控制器注入上下文.哪种依赖注入方式最流行并且现在使用?
真的需要你的建议.它将使我更深入地了解这一发展.
我有一些Product结构,在那里我有,例如,ProductId和ProductVariantId.每种产品都可以有许多变体.例如,Product1可以有变量1和2. Product2可以有变量1,2和3,所以我有以下列表:
ProductId: 1, ProductVariantId 1
ProductId: 1, ProductVariantId 2
ProductId: 2, ProductVariantId 1
ProductId: 2, ProductVariantId 2
ProductId: 2, ProductVariantId 3
Run Code Online (Sandbox Code Playgroud)
我想要做的是获取productId只有一个给定的变体.当productId没有给定变体时,我的机制应该取最大值.
所以给定变体的示例3应如下所示:
ProductId: 1, ProductVariantId 2 (maximum)
ProductId: 2, ProductVariantId 3
Run Code Online (Sandbox Code Playgroud)
我试着这样做:
products.ToList().Where(x => x.ProductVariant == givenProductVariant)
Run Code Online (Sandbox Code Playgroud)
我想补充的是某种数据库distinct上productId,并获得最大.
我可以请求帮助吗?