gpt4 book ai didi

c# - Entity Framework 中 LINQ-to-SQL 的 ExecuteCommand 的等价物是什么?

转载 作者:行者123 更新时间:2023-11-30 17:23:54 24 4
gpt4 key购买 nike

我正在将一个在 LINQ-to-SQL 上运行的应用程序移植到 Entity Framework,但找不到与 ExecuteCommand 等效的应用程序:

db.ExecuteCommand("INSERT Infos (Title) VALUES ('this is an added title')");

我找到了 this site这告诉我可以在您的 ObjectContext 上将 ExecuteCommand 实现为扩展方法,通过将此代码添加到项目中的静态方法来保持现有代码不变:/p>

public static int ExecuteCommand(this ObjectContext objectContext,
string command) {
DbConnection connection = ((EntityConnection)objectContext.Connection).StoreConnection;
bool opening = (connection.State == ConnectionState.Closed);
if (opening)
connection.Open();

DbCommand cmd = connection.CreateCommand();
cmd.CommandText = command;
cmd.CommandType = CommandType.StoredProcedure;
try {
return cmd.ExecuteNonQuery();
}
finally {
if (opening && connection.State == ConnectionState.Open)
connection.Close();
}
}

但我试过将它(1)放在我使用它的类中,(2)放在实体生成的类文件中,(3)放在项目的静态类中,但总是会出现各种错误。 我需要把这个方法准确地放在哪里?

上面的网站说:

ExecuteCommand is being considered as an enhancement for a future release of the Entity Framework

ExecuteCommand() 是否存在于最新版本的 Entity Framework 中?我正在使用随 Visual Studio 2008 SP1 安装的 Entity Framework。

最佳答案

.NET Framework 4 的 ObjectContext类有 ExecuteStoreCommandExecuteStoreQuery似乎正是您正在寻找的方法。

关于c# - Entity Framework 中 LINQ-to-SQL 的 ExecuteCommand 的等价物是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1708564/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com