LINQ to SQL -动态表属性



我目前在一个支付提供商工作。我想从提供程序配置中获取事务表名称,以便在我的LINQ查询中使用,但要理解以下示例是不可能的:

[Table(Name = Config.TransactionTable)]
public class Transaction : ITransaction
{
   ....
}

当我执行上述操作时,在编译时得到以下错误:

属性参数必须是属性参数类型

的常量表达式、typeof表达式或数组创建表达式。

解决这个问题的最佳方法是什么?使用LINQ to SQL来实现我想要的问题?

属性(TableAttribute)是sealed,这限制了许多选项;然而,LINQ-to-SQL并不依赖于属性模型——还有其他的提供程序。最值得注意的是,您可能会看到使用xml模型提供程序,并在运行时生成xml。这是重载构造函数中的MappingSource形参;典型的用法是XmlMappingSource.FromXml(...)或类似的。

然而,核心表在运行时发生变化的情况似乎并不常见。不常见,但并非不支持。

作为参考,隐式默认值为AttributeMappingSource

相关内容

  • 没有找到相关文章