我有一个像PersonalInfo这样的模型:
public string FirstName { get; set;}
public string LastName { get; set;}
public string Email { get; set; }
public IEnumerable<Addresses> Addresses{ get; set; }
我的地址模型包括:
public int AddressId { get; set; }
public string StreedAddress { get; set; }
public string State { get; set; }
我需要使用存储过程将这些插入到数据库中,但我需要使用dapper来做到这一点。抱歉,我是新的..我尝试了类似下面的东西,它不起作用:
var Id = connection.Execute("usp_Insert", personalInfo, commandType: CommandType.StoredProcedure);
foreach (Addresses address in personalInfo.Addresses){
connection.Execute("Insert", new {address, Id}, null, commandType: CommandType.StoredProcedure);
};
我可能在这里做了很多错误,我可以使用一个表值得参数,但我不知道它如何与dapper一起工作。
更新:
所以我想如果我不想在第一个地址中传递地址,我可以将其排除在先发送吗?我仍然希望一次传递整个模型而不是一个道具。
谢谢
问题是,精巧的人无法告诉 - 使用存储过程 - 需要什么参数。有数据库API可以查询,但这样做总是非常昂贵。对于常规查询,它可以很好地理解需要什么,但对于存储过程:它们是神秘的。因此,小巧玲珑只是试图包含它能看到的一切。
您最好的选择是“新”投影,它会选择参数所需的属性。