Linq to SQL:如何生成Public Get和Protected Set属性

时间:2013-11-21 19:13:17

标签: c# linq linq-to-sql properties

我是Linq To SQL的新手。我使用SQLMetal生成类。该工具为表的表和列生成Get和Set属性。

在我的应用程序中,Data对象只能在Data Accessor程序集中更新,但是对象将在需要访问数据时传递给许多其他程序集。我不希望外部程序集修改数据。我希望他们使用GET属性来访问数据并拥有私有/内部集。

我如何实现这一目标?任何标准模式/做法?

提前致谢!

1 个答案:

答案 0 :(得分:2)

您需要为每个表类创建另一个不可变类,您可以在其中投影数据。 Linq to SQL没有设置可以完成您描述的内容,也没有SQLMetal。

您可以做的另一件事是修改these T4 templates以实现您描述的行为。还有其他选择;微型ORM就像Dapper或Massive可能更适合你的情况。

进一步阅读
LINQ to SQL and immutability