我有这样一个存储过程:
CREATE PROCEDURE PLogin
@pin varchar(50), @ipaddress varchar(50)
AS
BEGIN
SET NOCOUNT ON;
//Some code here ...
SELECT * FROM [dbo].[QRelaceUzivatele_Aktivni] WHERE Pin = @pin AND IPAdresa=@ipaddress
END
我使用了上面提到的方法
here
.
我有一个定制的C级
AktivniRelaceUzivatele
它绘制了
QRelaceUzivatele_Aktivni
public class AktivniRelaceUzivatele
{
int ProvozID { get; set; }
string NazevProvozu { get; set; }
int UzivatelID { get; set; }
string PIN { get; set; }
string Nick { get; set; }
在MVC控制器中,我调用:
var qpin = new SqlParameter("p", pin);
var qip = new SqlParameter("ip", ip);
var ar = db.Query<AktivniRelaceUzivatele>()
.FromSql("EXECUTE dbo.PLogin @pin=@p, @ipaddress=@ip", qpin, qip).FirstOrDefault();
在dbContext类中,我添加了:
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Query<AktivniRelaceUzivatele>();
在执行存储过程时,我没有得到编译错误,但结果值没有插入到对象的属性中,相反,我得到的实例只包含默认值,如
null