【问题标题】:Cannot understand diffrences in model between SQLServer and Entity Framework无法理解 SQL Server 和实体框架之间的模型差异
【发布时间】:2013-08-29 22:47:31
【问题描述】:

我正在使用 Visual Studio Express 2012 (VS) 和 SQLServer Express 2012 (SQLServer) 在 C# 中开发 Windows 窗体应用程序)。

在我的项目开始时,我使用 SQL Server Management Studio (MS) 然后在 VS 中进行修改:更新来自 DB 在图表视图中。

但现在出现了一些差异:

  • 我的 VS 图表中存在一个表,但 MS 中没有,并且可以与 Linq 一起正常工作
  • 我在 MS 中重命名了一些表和字段,针对那些在 VS 中不起作用的表和字段进行了更新,如果我更新了自己,则会出现一些错误,例如 dbo.myNewTable not exists

我想要什么:

  1. 首先,所有作品均以我的VS观点
  2. 使 MSVS 同步
  3. 明白:)

上下文是:

  • 一台机器,上面的所有程序
  • SQLServer 上的一个数据库(或者我不确定 MS 是否显示我想象的事实)
  • 过去有 2 个相同数据库的紧密副本(但过去很远)

解决方案:

VS

  • with:DATABASE_NAME 是我的数据库名称
  • 和:MACHINE_NAME是我自己的机器名,基本上是托管SQLServer的地方

App.conf

<connectionStrings>
 <add name="DATABASE_NAME_Entities" connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=MACHINE_NAME;initial catalog=DATABASE_NAME;integrated security=True;multipleactiveresultsets=True;application name=EntityFramework&quot;" providerName="System.Data.EntityClient" />
</connectionStrings>

MS

比较
  • 数据库名称是MACHINE_NAME\SQLEXPRESS

看到了这种差异:

  • 尝试使用图形连接助手将VS连接到MACHINE_NAME\SQLEXPRESS:只有MACHINE_NAME是有目的的
  • 尝试使用连接盒将MS连接到MACHINE_NAME,两个连接都可用

然后,正如假设的那样,有 2 个不同的数据库。

但为什么 VS 不针对所有可能的连接?

【问题讨论】:

  • 您有更具体的问题吗?目前还不清楚你在这里问什么。 (不是我的反对票)
  • Management Studio 的 SQL 对象元数据的对象资源管理器缓存非常具有粘性。如果您在对象资源管理器之外更改 SQL 元数据,则必须手动强制刷新(即使,如果它在另一个 Management Studio 窗口中,例如查询)。要强制刷新,请右键单击对象资源管理器中位于/包含您已更改的对象上方的文件夹,然后选择“刷新”。否则,退出 Management Studio 并重新启动它。
  • @retailcoder:我可以给你更具体的东西,但是什么?
  • @RBarryYoung:已经做了很多次但没有成功。
  • 如果 Linq 可以访问一个表,但 MS 即使在您重新启动后也不显示它,那么听起来您没有查看相同的数据库(这非常常见且容易做到) .

标签: c# sql-server sql-server-2008 entity-framework visual-studio-2012


【解决方案1】:

听起来您正在连接到不同的数据库,就像您在途中制作了原始数据库的副本,现在从一端使用该副本,但在另一端使用原始数据库。检查DSNs 以确定两个连接。

【讨论】:

  • 是的,听起来我连接到 2 个不同的数据库。而且,我也只能看到一台服务器,这是我自己的开发计算机。无论如何,我喜欢可能有 2 个副本的想法。所以,看起来不是。
  • 问题框中的编辑错误。你知道为什么 Visual Studio 不将所有连接都用于 SQLServer 吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-21
  • 1970-01-01
  • 2012-07-22
  • 1970-01-01
  • 2010-11-04
相关资源
最近更新 更多