是否可以添加属性到我的模型不存在于数据库中?ASP.Net实体框架模型
例如我有一个日历表,我想在我的MVC控制器中退出这些数据,然后计算出剩下的时间,直到每个条目开始并将其返回给视图。所以我希望我的日历模型中的另一个属性保留剩下的时间,这是我将在数据库之外生成的一个值。
我试过只是添加属性,但当我这样做时,我得到错误,因为属性没有映射到任何东西。
这甚至可能吗?
感谢
是否可以添加属性到我的模型不存在于数据库中?ASP.Net实体框架模型
例如我有一个日历表,我想在我的MVC控制器中退出这些数据,然后计算出剩下的时间,直到每个条目开始并将其返回给视图。所以我希望我的日历模型中的另一个属性保留剩下的时间,这是我将在数据库之外生成的一个值。
我试过只是添加属性,但当我这样做时,我得到错误,因为属性没有映射到任何东西。
这甚至可能吗?
感谢
你应该能够属性添加到模型中,但你将无法使用LINQ查询它。 LINQ将最终构建和表达它想要使用SQL对数据库运行。它在那个时候你的LINQ将无法找到你的属性映射到某个字段的映射。
如果您的查询返回已创建属性的实际类型的IEnumerable,则您的视图可能可以访问它。我不记得EF在这种情况下是否坚持绘图,它可能会。
如果您想为视图提供其他复合类型,您可能会发现可以创建使用LINQ到对象的后续LINQ查询。
这是一个非永久性属性或瞬态。我不太了解Entity Framwork,但通过快速的谷歌搜索,你应该找到答案。
BTW,你可以在这里找到很多提示: http://weblogs.asp.net/zeeshanhirani/archive/2008/12/18/my-christmas-present-to-the-entity-framework-community.aspx
做出快速搜索自己在VS2008的测试后,我没有看到一个方法来排除映射的属性。也许它需要你手动编辑映射文件? :(