ASP.Net实体框架模型

时间:2009-02-16 12:13:47

标签: asp.net entity-framework

是否可以向数据库中不存在的模型添加属性?

例如,我有一个日历表,我想在我的MVC控制器中退出这些数据,然后计算出每个条目开始的时间并将其返回到视图。所以我希望我的日历模型中的另一个属性保留剩余时间,这是我将在数据库之外生成的值。

我尝试过添加属性,但是当我这样做时,我会收到错误,因为该属性未映射到任何内容。

这甚至可能吗?

由于

2 个答案:

答案 0 :(得分:0)

您应该能够将该属性添加到模型中,但您将无法使用LINQ进行查询。 LINQ将最终构建和表达它将要使用SQL对数据库运行。在那时,您的LINQ将无法找到从您的属性到某个字段的映射。

如果您的查询返回了您创建该属性的实际类型的IEnumerable,则您的视图可能能够访问该属性。我不记得EF在这种情况下是否坚持映射,它可能会这样做。

如果要为视图提供其他复合类型,可能会发现可以创建使用LINQ到对象的后续LINQ查询。

答案 1 :(得分:0)

这是一种非持久性属性或瞬态。我不太了解Entity Framwork,但通过谷歌快速搜索你应该找到答案。

顺便说一句,你可以在这里找到很多提示: http://weblogs.asp.net/zeeshanhirani/archive/2008/12/18/my-christmas-present-to-the-entity-framework-community.aspx

在我自己快速搜索并在VS2008中进行测试后,我没有看到从映射中排除属性的方法。也许它需要您手动编辑映射文件? :(