LINQ to SQL的:需要不同的用户名进行督促和开发DBML表属性(LINQ to SQL :

2019-10-19 07:50发布

这是一个类似问题到这个问题

当我部署我开发的应用程序,以督促服务器我得到了一个错误:

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

对LINQ映射表属性看起来像[表(名称=“DBO的.login”)]

当我装督促DB模式到VS2008服务器资源管理器,并完全与一,关于督促工程的应用,但现在开发的应用程序不工作我刷新DBML。

对LINQ映射表属性现在看起来像[表(名称=“prodDbUsername的.login”)]

在开发服务器我现在得到

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

什么是管理开发和生产线之间的这些不同的用户前缀的最佳方式?

Answer 1:

这听起来像你必须在你的不同的环境不同的名称相同的表。 解决您的问题,最简单的方法是使用相同的模式适用于所有环境(数据可以是不同的,但你所要求的各种问题,如果该模式是不一样的)。

编辑:有了您的进一步澄清,表正在创建使用两种不同的模式中不同的所有者或。 见http://www.sqlteam.com/article/understanding-the-difference-between-owners-and-schemas-in-sql-server进一步澄清的差异。

我建议您尝试使用以下语法创建表:

CREATE TABLE [dbo].[MY_TABLE_NAME]...


Answer 2:

如果您使用的是单模式(在一个单一的数据库即不是多个模式),你可以删除你的表的模式前缀。

EG变化:

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

至:

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


文章来源: LINQ to SQL : Need Different Usernames for Prod and Dev DBML On Table Attribute