创建没有实体框架的查询

时间:2012-02-13 08:34:57

标签: asp.net-mvc entity-framework

我有以下代码,但我无法弄清楚我需要在.AddObject(Model);.SaveChanges();之前代替//以使方法正常工作。这是一个创建查询,但我之前使用Entity Framework时只做过这个,在这种情况下,我没有使用EF。

[HttpPost]
public ActionResult Registration(UserDetailModel Model)
{
    if (ModelState.IsValid)
    {
        Model.UserNameFK = User.Identity.Name;
        Model.CompanyName = "CompanyName";
        Model.IEMI = "IEMI";

        //.AddObject(Model);
        //.SaveChanges();

        return RedirectToAction("Registration", "Home");
    }

    return View(Model);
}

我关闭了吗?

干杯,

麦克

1 个答案:

答案 0 :(得分:0)

我希望您知道实体框架是.NET的Object Relational Mapping框架。

基本上它创建了映射到数据库的实体类,并且无需编写任何SQL即可轻松执行创建/读取/更新/删除操作。

如果您没有使用Entity Framework,则可以使用其他ORM,例如NHinbernate

OR

您可以使用带有SQL的普通ADO.NET类来向/从数据库写入/读取数据。

例如:如果您正在使用 SQL Server ,您将使用System.Data.SqlClient命名空间写入您的SQL数据库,see the SQLCommand class(写入其他受支持的数据库的工作相同方式)

您可以使用下面的函数执行此类操作:

CreateCommand(//just as an example you can use values from your model in sql
"INSERT INTO Users(Name, CompnayName, IMEI,) VALUES ("
         + Model.UserNameFK +", val2, val3,...)", 
"your connection string"
);

private static void CreateCommand(string queryString,
    string connectionString)
{
    using (SqlConnection connection = new SqlConnection(
               connectionString))
    {
        SqlCommand command = new SqlCommand(queryString, connection);
        command.Connection.Open();
        command.ExecuteNonQuery();
    }
}

See this for more documentation.