代码之家  ›  专栏  ›  技术社区  ›  CRice

LINQ to SQL:表属性上的Prod和Dev DBML需要不同的用户名

  •  1
  • CRice  · 技术社区  · 16 年前

    this question

    当我将我的开发应用程序部署到prod服务器时,我收到一个错误:

    linq映射上的table属性类似于[表(名称=” .Login“)]

    当我将prod db模式加载到vs2008服务器资源管理器中并用该模式完全刷新我的dbml时,prod上的应用程序可以工作,但现在dev上的应用程序不能工作。

    prodDbUsername .Login“)]

    在dev服务器上,我现在得到

    System.Data.SqlClient.SqlException:无效的对象名称“prodDbUsername.Login”。

    在dev和prod之间管理这些不同用户前缀的最佳方法是什么?

    2 回复  |  直到 9 年前
        1
  •  2
  •   sestocker    16 年前

    听起来,在不同的环境中,相同的表的名称不同。解决问题的最简单方法是对所有环境使用相同的模式(数据可能不同,但如果模式不相同,您会提出各种问题)。

    http://www.sqlteam.com/article/understanding-the-difference-between-owners-and-schemas-in-sql-server 请进一步澄清差异。

    CREATE TABLE [dbo].[MY_TABLE_NAME]...
    
        2
  •  1
  •   KristoferA    16 年前

    如果您使用的是单个模式(即,一个数据库中没有多个模式),则只需删除表上的模式前缀即可。

    例如,改变:

    <Table Name="dbo.person" Member="Persons">
    

    致:

    <Table Name="person" Member="Persons">
    
    推荐文章