2010-07-06 69 views
4

除了其他信息(如名称,ID,电子邮件等)之外,我还存储了一些存储过程,这些过程取用户的用户名(记录谁更改了数据库) )。在存储过程中,我查找用户的ID并将其存储在表中。在SP参数与实体不匹配的情况下使用实体框架的存储过程

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

有没有标准的方式来包含存储过程映射中的非实体属性?

回答

0

如果我正确地得到您的问题(不完全知道我这样做),那么:

  1. 如果您尚未使用自己的DataContext派生类,这样做。
  2. 添加一个方法,该方法调用该类中的ExecuteMethodCall(它是受保护的,所以您只能从派生类型调用它,传入“原始”类型(相关字符串,整数,日期时间等),而不是实体类的实例)
  3. 为获得用户名(无论是你的班级的成员还是来自其他地方的输入等)添加一个方法(可能是你的实体类,尽管它可能存在于其他地方)并不清楚你的问题),并调用您的DataContext派生类中的方法。

希望这是有用的,我不是错误的读数。

+0

谢谢!这是我需要听到的 – MattB 2010-08-10 16:37:58

0

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

+0

我ñ与函数导入一起工作,我正在尝试使用“映射细节”,特别是“函数”。 – MattB 2010-07-07 15:35:02