使用存储过程和实体框架,其中SP参数与实体不匹配

时间:2010-07-06 15:09:24

标签: c# sql entity-framework

除了其他信息(如姓名,ID,电子邮件等)之外,我还有存储过程,这些过程采用用户的用户名(记录谁更改数据库)。在存储过程中,我查找用户的ID并将其存储在表中。

我遇到的问题是实体表与存储过程的输入不匹配,因此无法映射(或包含)用户的用户名。

是否有一种标准方法可以在存储过程映射中包含非实体属性?

2 个答案:

答案 0 :(得分:0)

我创建了一个XSLT样式表,用于从edmx中的映射函数导入生成C#方法。 This solution适用于VS2008。

答案 1 :(得分:0)

如果我的问题正确(我不完全确定),那么:

  1. 如果您尚未使用自己的DataContext派生类,请执行此操作。
  2. 添加一个在该类中调用ExecuteMethodCall的方法(它受保护,因此您只能从派生类型调用它,传入“原始”类型(相关字符串,整数,日期时间等,而不是实体类的实例) )。
  3. 添加一个方法(可能是你的实体类,虽然它可能存在于其他地方),它为获取用户名做了必要的工作(无论是你的班级成员还是其他地方的输入等,你的问题都不清楚)并在您的DataContext派生类上调用该方法。
  4. 希望这很有用,而且我不会误读。