【问题标题】:Entity Framework 4, Stored Procedure for searchingEntity Framework 4,用于搜索的存储过程
【发布时间】:2023-03-11 11:27:01
【问题描述】:

我正在学习 EF4,希望有人推荐有关如何在存储过程中使用复杂条件搜索实体并返回实体及其导航属性的最佳实践。

假设我有一个客户表和一个联系人表。一个客户可以有多个联系人。 customer 表包含 CustomerID 和 Company 名称,而 Contact 表包含名称和电子邮件地址。这是对实际情况的过度简化,实际上我需要继续使用存储过程进行搜索,因为它也在进行近似字符串匹配。

SP 仅返回客户列,并包含一个列来指示每个搜索结果的得分。

问题是,我如何将结果捕获到客户实体中,同时仍然捕获分数?

另外,有没有办法在同一个调用中加载联系人(这是客户实体的导航属性)?如果可能的话,如果通过电子邮件地址进行搜索,它会返回客户,但只有与该电子邮件地址的联系人?

【问题讨论】:

    标签: c# entity-framework stored-procedures


    【解决方案1】:

    在我看来,在使用 EF 时从存储过程中获取数据是错误的方法,您将失去 EF 带来的所有灵活性,而您不想使用 EF 做的事情就是编写 SQL 查询。

    对于一些示例如何加载联系人等,您可以在这里找到http://code.msdn.microsoft.com/ef4

    【讨论】:

    • 终于回到了这一点,但该示例甚至没有单个函数导入。我需要继续使用这个 SP 进行搜索。所以根据你的说法,我根本不应该使用 EF??
    【解决方案2】:

    与此同时,我在here得到了答复

    【讨论】:

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