【问题标题】:Entity Framework Stored Procedure Mapping HELP!实体框架存储过程映射帮助!
【发布时间】:2011-01-06 01:48:32
【问题描述】:

我对实体框架的欣赏似乎受到了严重打击。 “MS几乎做对了,但他们只是因为L-A-M-E”的想法而错过了它。直到今天一切都很好。由于某些未知的原因,它不会再编译并出现错误 2048。我已经阅读了这个,我已经看到了你需要如何映射所有三个操作。为什么这甚至是必要的?如果我不需要删除功能而只需要插入和更新怎么办?我尝试将虚拟 SP 映射到我的删除功能。如果这能解决我的问题,不管多么俗气,很好。唯一的问题是,它只会制造更多的问题。

这就是我所拥有的。我正在用 MVC 编写一个简单的时事通讯应用程序。我有所有从我的数据库(SQL 08)生成的出版物、问题和文章的实体。我在我的数据库中设置了关系,它们很好地转换为我的 EDMX。我制作了一些 SP 来插入和更新我的问题和文章。我将它们添加到 EDMX 并相应地映射它们。我不需要它们中的任何一个的删除功能,也不需要发布实体的任何东西。为什么编译器强迫我映射所有函数? IMO,这是 EF4 的主要、主要问题,我不敢相信 MS 会在出现这种废话的情况下发布它。

另一个奇怪的问题是我已经尝试将 sp 映射到另一个项目中的实体,并且只配置了插入和更新,它们编译得很好。为什么编译器不一致?

我宁愿不必使用导入函数。那是我唯一的选择吗?如果是这种情况,它将消除 SaveChanges 方法的能力。加油MS!!!解决这个问题!!!!!!!

【问题讨论】:

  • 我建议少一点态度,多一点专业。
  • @Greg 我的问题是合法的。不知道你从哪里得到“态度”。这是一个令人沮丧的问题。
  • 我确信这很令人沮丧(不幸的是,我无能为力)。我只是想提出一些可能有助于鼓励人们努力回答您的问题的建议。
  • 也许他从粗体字+大写锁定、“L-A-M-E”和连续 5 个感叹号中获得了“态度”?只是猜测。
  • 虽然我完全同意 cmets 关于更专业一点的观点,但我能理解您的沮丧。我会将 EF 归类为非常接近一个好的框架。似乎设计师们将精力集中在花哨的新垃圾功能上,例如代码优先,而忽略了撤消等基础知识。

标签: entity-framework-4


【解决方案1】:

经过大量挖掘和并排文本比较,我想我找到了解决方案。

有问题的 SP 是这样设置的

CREATE PROCEDURE updateArticle
(
    @ArticleID INT,
    @Content TEXT
)

应该是这样的

CREATE PROCEDURE updateArticle
( 
    @ArticleID INT,
    @IssueID INT,
    @Content TEXT
)

现在,我仍然不知道为什么 EF4 甚至需要这个,因为我没有更新 issueid 并且错误消息对诊断问题几乎没有帮助。我的 SP 甚至不使用 IssueID,但 EF 无论如何都需要它。希望这会帮助别人。在这方面,MS 仍然可以做得更好。

【讨论】:

    猜你喜欢
    • 2011-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多