0
のプライマリキーにGuid
のエンティティがあります。私はなぜそれがだ、SQLに渡したGUIDに何か問題があることを推測する私は、SQLパラメータとしてGuidIdを持つストアドプロシージャを呼び出すためにしようとしていますが、私はコード内のGUIDのストアドプロシージャスローエラー
Incorrect syntax near '@Id'.
CreateStoredProcedure("dbo.MyStoredProc",
param => new
{
Id = param.String()
},
body:
@"DECLARE @GuidId uniqueidentifier = convert(uniqueidentifier, @Id)
...");
repository.ExecuteQuery("EXEC MyStoredProc @Id",
new SqlParameter("@Id", entity.GuidId.ToString()));
public void ExecuteQuery(string query, params object[] parameters)
{
dbContext.Database.ExecuteSqlCommand(query, parameters);
}
このエラーが出ます文字列として渡して変換しようとしました。ストアドプロシージャはSqlで実行された場合に動作しますが、ここで間違っていますか?
私はGUIDがプライマリキーとして、クラスタ化されたインデックスではないことを願っています。 1,000行の少数で99%の断片化を超えます。クラスタード・インデックスでは、別の列を使用する方が適しています。あるいは、クラスタード・インデックスのデフラグを継続して行う必要があります。 –