【问题标题】:ASP.Net Entity Framework ModelASP.Net 实体框架模型
【发布时间】:2009-02-16 12:13:46
【问题描述】:

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

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

我尝试只添加属性,但是当我这样做时,我得到了错误,因为该属性没有映射到任何东西。

这甚至可能吗?

谢谢

【问题讨论】:

    标签: asp.net entity-framework


    【解决方案1】:

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

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

    如果您想为视图提供一些其他复合类型,您可能会发现可以创建使用 LINQ-to-objects 的后续 LINQ 查询。

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        猜你喜欢
        • 2011-07-22
        • 2016-08-08
        • 1970-01-01
        • 2010-10-07
        • 2011-08-28
        • 2018-05-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多