繁体   English   中英

ExecuteStoreCommand返回-1,EntityFramework,C#?

[英]ExecuteStoreCommand returns -1 , EntityFramework , C#?

我想获得下一个自动递增的主键, 在这里我知道可以使用T-SQL来做到这一点。 所以我写了以下方法:

public int GetLastNewsID()
{
    const string command = @"SELECT IDENT_CURRENT ('{0}') AS Current_Identity;";
    int id = EntityModel.ExecuteStoreCommand(command, "News");
    return id;
}

但它返回-1,而现在必须为4。

PS:当我在SQL Management Studio中的T-SQL下执行时,它返回4

USE T;
GO
SELECT IDENT_CURRENT ('NEWS') AS Current_Identity;
GO

您需要使用ExecuteStoreQuery

public int GetLastNewsID()
{
    const string command = @"SELECT IDENT_CURRENT ({0}) AS Current_Identity;";
    var id = EntityModel.ExecuteStoreQuery<decimal>(command, "News").First();

    return Convert.ToInt32(id);
}

SQL查询将返回一个decimal因此您需要将其转换为int

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM