![]() |
1
0
你好像在问几个问题。首先,当您询问将查询放在何处时,这实际上取决于您所遵循的设计。在很多情况下,存储库模式似乎是数据访问的合理想法,但我不知道它在您的情况下是否合适。例如,您已经在其他地方使用存储库了吗?
如果在林,请看看这个问题的答案。它们可能适用于: Pivot data using LINQ 如果是在SQL中,并且假设您使用的是sqlserver,那么您确实可以使用groupby或pivot操作符(如果您运行的是最新版本)来执行pivot。但是,这两种情况都不支持动态数量的语言—必须显式声明每个语言的请求列。像这样:
因为Pivot操作符不支持动态语句,比如扩展参数中的子查询(英语,法语),所以我不知道如何处理泛型。希望这至少能澄清你的方向。 |
![]() |
2
0
产生结果的简单查询(假设LangID1=法语,LangID2=英语):
在哪种情况下你需要多语言能力?如果您在运行时只需要两种语言,我建议您查询这两种语言并构建一个Tuple(新的Tuple类随.NET4.0提供),其中第一个泛型参数是lang id,其他参数是特定语言。您可以在CategoryName实体上构建一个分部类,该实体包含一个函数,该函数为您提供那些字典/元组。您可以很容易地将上面的查询转换成LINQ。 简 |
![]() |
Drago · Linq通过比较Id和具有Id的对象列表来查询获取列表 2 年前 |
![]() |
Niyazi Babayev · 如何在表达式中动态应用表达式? 2 年前 |
![]() |
Murat Güzel · EF存储库模式错误{'Id'}已被跟踪 2 年前 |
![]() |
dotnetdevcsharp · 减少基于数据类型获取设置的方法数量 2 年前 |
![]() |
saravanan049 · 在实体框架中回滚Azure SQL数据库 2 年前 |