小编Joe*_*nos的帖子

用于 SQL Server 2012 的 VS2013 上的 SSDT

我有 Visual Studio 2013 和 SQL Server 2012。从我读到的内容来看,VS2013 的 SSDT 加载项似乎只适用于 SQL Server 2014。对吗?

我已经安装了它,并构建了一个在 Visual Studio 中运行良好的 SSIS 包。但是当我尝试将它导入 SQL Server 时,我得到了一个通用的

0xC0010014 "发生一个或多个错误...当 CPackage::LoadFromXML 失败时会发生这种情况...

我的猜测是DTSXSQL Server 2012 无法读取该格式。

我可以做些什么来使 VS2013 以 SQL Server 2012 格式保存,或者以其他方式将我的包导入 SQL Server?我宁愿不必在这台机器上安装 VS2012,因为我已经有了 2013。

ssis visual-studio ssdt

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

多次往返与交叉连接

我有一种感觉,答案是“这取决于……”,但我想知道是否有具体的答案。

在实体框架中,您使用 C# 代码构建查询,框架将转换为 SQL 并发送到服务器以下拉数据。假设我想从三个表中检索一条记录。我至少有三个选择:

  1. 使用直接 SQL(手动 ADO.NET),SELECT在同一命令中发送三个语句,并使用 DataReader 一次映射一个结果集。从数据库的角度来看,这显然是最好的方法,但它是最有效的方法,因为我无法使用实体框架方法。

  2. 从实体框架发送三个单独的命令 - 这需要到数据库服务器的三个往返:

Person person1 = context.Persons.First(p => p.PersonID == 1);
Car car1 = context.Cars.First(c => c.CarID == 1);
House house1 = context.Houses.First(h => h.HouseID == 1);
// translates to the following SQL, one roundtrip at a time:
SELECT TOP(1) [p].[PersonID], [p].[PersonName] FROM [Person] AS [p] WHERE [p].[PersonID] = 1
SELECT TOP(1) [c].[CarID], [c].[CarName] FROM [Car] AS [c] WHERE [c].[CarID] = 1
SELECT TOP(1) [h].[HouseID], [h].[HouseName] FROM …
Run Code Online (Sandbox Code Playgroud)

join sql-server entity-framework

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

标签 统计

entity-framework ×1

join ×1

sql-server ×1

ssdt ×1

ssis ×1

visual-studio ×1