将 c# class 类型映射到 Linq2Sql 存储过程输入参数的语法

Syntax for mapping c# class types to Linq2Sql stored procedure input parameters

给定一个存储过程

CREATE PROCEDURE UpdatePerson
AS
@Name nvarchar(50),
@Age int
BEGIN
--...
END

当我将它添加到 LINQ2SQL 设计器时,它会生成一个类似于以下内容的 c# 方法:

someResultType UpdatePerson(string Name, int Age);

我如何重写它以获得将 Person 对象作为单个参数的工作方法?

someResultType UpdatePerson(Person aCoolPerson);

对于 return 类型来说实现这一点相对简单,但我似乎可以弄清楚输入参数。

您可以为您的数据上下文创建部分 class 并提供调用生成版本的方法。

public partial class DataContext
{
     public someResult UpdatePerson(Person p)
     {
         return this.UpdatePerson(p.Name, p.Age);
     }
}