我有一个包含多个表的数据库,这些表具有相同的名称但来自不同的模式。 例如:

[DatabaseName].[Schema1].[MyTable]
[DatabaseName].[Schema2].[MyTable]

当Linq2Sql为此数据库生成代码时,它似乎只是从第一个模式中获取表并完全忽略第二个模式:

[Table(Name="[Schema1].MyTable")]
public partial class MyTable {  }

这实际上使得无法使用Linq2Sql在第二个模式上查询表。 这有解决方法吗?

我的第一个想法是手动编辑生成的代码,以便我有:

[Table(Name="[Schema1].MyTable")]
public partial class Schema1MyTable {  }

[Table(Name="[Schema2].MyTable")]
public partial class Schema2MyTable {  }

但每次数据库更改时都必须维护此代码将是一个巨大的痛苦。 还有其他想法吗?

#1楼 票数:1 已采纳

看起来这不再是Visual Studio 2010中的一个问题。我创建了两个表,都命名为target ,并将一个绑定到schema a ,另一个绑定到schema b 我添加了DBML并将两个目标表(一个显示为目标(a)和另一个目标(b)在服务器资源管理器中)提取到设计器上。 这创建了一个名为target的类,另一个名为target 1 生成的代码(为清晰起见而编辑)显示工具现在生成的类与上面的示例代码非常相似:

[global::System.Data.Linq.Mapping.TableAttribute(Name="a.target")]
public partial class target
{ //... class implementation snipped
}

[global::System.Data.Linq.Mapping.TableAttribute(Name="b.target")]
public partial class target1
{ // ... class implementation snipped
}

  ask by community wiki translate from so

未解决问题?本站智能推荐:

2回复

在LinqToSql Designer中使用除'dbo'以外的模式

有没有办法在数据连接或LinqToSql Designer中指定架构? 每当我为LinqToSql设置数据连接时,似乎都没有指定模式,默认情况下,我会得到“ dbo”。 我认为我不能成为第一个在LinqToSql上使用'dbo'以外的模式的人,所以我肯定缺少明显的东西。 编辑 :也
1回复

Linq2Sql选择具有sum,in,left和nolock的查询

我如何使用Linq2Sql上下文在linq中编码此查询? 是否有可能使Linq2Sql生成的查询与纯sql查询相同?
1回复

从Linq2Sql中的3个表中提取记录

我的数据库中有3个表。 公司,产品和潜在客户。 以下是我的领域。 潜在客户表: 产品表: 我还有一个表“ Company ”,上面的参考在两个表中显示。 我的要求是淘汰以上表中存在的所有公司,产品和BuySell的同一类别。 例如,如果我想查看CategoryId
1回复

Linq2Sql可空关联

在多语言项目中,SQL2005具有以下数据库结构: 表StringTable: 表文章: 我在映射Linq2Sql中的Articles.descriptionID-> StringTable.stringID关联时遇到了麻烦(使用设计器)..说:“如果孩子可以为空,则
1回复

Linq2Sql的Perf问题

我正在尝试改进使用Linq2Sql的应用程序中的perf。 我发现了一种非常慢的特定方法。 它是一个讨厌的,嵌套的.Sum()语句。 执行时,返回数据只需30多秒。 总数据行可能是3000.如果我使用LinqPad生成并运行它的sql,我会在不到一秒的时间内恢复数据。 我不知道框架
1回复

Linq2SQL 中多个连接的错误结果

我的任务是将一些老生常谈的 SQL 转换为 Linq2SQL,我知道这不应该是第一选择,但它需要完成。 问题 我一直在尝试强制特定连接复制所需的输出,以下是 SQL 的简化版本,其中显示了一个参数变体,然后是我在 Linq2SQL 中尝试的简化版本。 表 1 中可能会查询多个替代字段,因此在转换后
5回复

LINQ2SQL基于大的选择行在哪里

我正在使用LINQ2SQL在SQL(精简版)数据库中搜索一堆int32。 我的主要问题是我有一个很大的列表(数千)的int32,我想要DB中的所有记录,其中DB中的id字段匹配我的任何int32。 目前我正在选择一行,有效地搜索索引数千次。 我该如何优化呢? 临时表?
5回复

使用LINQ2SQL插入大量记录

我们有一个小的c#工具,我们将它们拼凑在一起来解析数据文件,构建一些对象并将它们插入到数据库中。 逻辑本质上是。 这在一开始就很好,因为数据文件每天只有大约1000行,但是最近这个文件已经增长到大约30,000行,并且这个过程变得非常缓慢。 SubmitChanges()调用