我有一个小数据模型的项目,以只读方式使用EF模型。
如果非空且没有默认值,我不需要模型中所有的列,但是我必须要有它们。
我该如何避免包括这些无用的列?我能不能将EF放入某种只读模式,然后从实体中删除这些列?
我想这么做的原因是,通过仅保留我所需的数据模型中的列,我减少了模型在查询中返回的列数,并降低了模式更改时我的数据使用者出现错误的风险。
编辑:我的模式具有没有默认值的NOT NULL
列的表。据我所知,我必须在我的edmx中包括这些列。在我的情况下,我只有只读上下文,所以我不希望这些列在我的edmx中出现。
如果我可以防止这些列被包含在数据模型中,我可以避免许多由于模式更改而引起的问题。到目前为止,我找到的唯一解决方案是通过指向一个没有这些列的“虚拟”数据库来构建数据模型!
NOT NULL
列,我就不能从我的edmx中删除它。Visual Studio会抛出构建错误。然而,由于我的数据上下文是只读的,所以对我来说无法插入行并不重要。 - Matthew