小编Tom*_*ord的帖子

如何创建LINQ表达式树以选择匿名类型

我想使用表达式树动态生成以下select语句:

var v = from c in Countries
        where c.City == "London"
        select new {c.Name, c.Population};
Run Code Online (Sandbox Code Playgroud)

我已经研究出如何生成

var v = from c in Countries
        where c.City == "London"
        select new {c.Name};
Run Code Online (Sandbox Code Playgroud)

但我似乎无法找到一个构造函数/重载,让我在select lambda中指定多个属性.

c# linq linq-to-entities entity-framework expression-trees

45
推荐指数
3
解决办法
3万
查看次数

如何使Database-> SQL Project的'Schema Compare'尊重SQL-CMD变量

我有一个带有2个SQL项目DB1,DB2的Visual Studio 2013解决方案.

DB1有一个引用DB2的存储过程.

如果我在程序中使用.dacpac和同义词

SELECT * FROM [$(DB2)].[dbo].[Table1]
Run Code Online (Sandbox Code Playgroud)

然后将数据库中的Schema与SQL Project进行比较错误地将上述内容检测为更改,因为它不处理变量/同义词.

相反,我使用

SELECT * FROM DB2.[dbo].[Table1]
Run Code Online (Sandbox Code Playgroud)

并将存储过程构建类型更改为(以便项目构建)然后从数据库到Proejct 进行架构比较**将"看不到"我的项目中的存储过程并在每个SQL数据库项目中添加新的过程相比

在模式比较后,我现在将看到

  • DB1
    • DBO
      • 存储过程
        • sp_myStoredProcedure.sql
        • sp_myStoredProcedure1.sql
        • sp_myStoredProcedure n .sql

其中n =架构比较#!

如果有一种方法可以忽略构建错误SQL7501,那么它应该使用第二个选项,但它似乎不能被忽略.

另一种解决方案是保存模式比较并手动选择跳过所有引用DB2的过程但是我想检测这些过程中的更改.

这似乎是一个简单而常见的用例.有人为这个设计缺陷提出了解决方法吗?

更新

在测试了凯文的答案之后,我已经确定了为什么我的一些观点没有正确处理SC.他的答案在技术上是正确的:

如果你在DB1中有一个视图:

SELECT * FROM DB1.dbo.Table1 T1
INNER JOIN DB2.dbo.Table2 T2 
ON T2.Field1 = T1.Field1
Run Code Online (Sandbox Code Playgroud)

并在您的DB1 SQL Project中原始(没有自引用DB1)

SELECT * FROM dbo.Table1 T1
INNER JOIN [$(DB2)].dbo.Table2 T2 
ON T2.Field1 = T1.Field1
Run Code Online (Sandbox Code Playgroud)

模式比较将无法正确替换变量并识别更改:[$(DB2)] - > $(DB2)

问题是自引用DB1.dbo.Table,在我的情况下,已插入大量连接的一半,其中许多是DB2引用.

这会导致SC错误地将所有[$(DB2)]标记为更改.可能是因为数据库sql没有在VS中"构建"并恢复到文本比较.

所以这不是一个真正的错误,但对于没有手动比较SQL的每一行的开发人员而言,这是一个令人困惑的结果.

我认为这个问题可以扩展到以下几点: …

sql schema database-project schema-compare visual-studio-2013

7
推荐指数
1
解决办法
3231
查看次数

如何确定使用反射基类的泛型参数

我有以下结构

public class MyClass : MyBaseClass<System.Int32>
{
}
Run Code Online (Sandbox Code Playgroud)

在静态方法中,如果没有实例化新的MyClass实例,我如何获得用于构建具体基类的泛型参数的类型?例如,在上面的示例System.Int32中

c# generics reflection

1
推荐指数
1
解决办法
723
查看次数