Asp.net Linq实体从表中删除特定列

Asp.net Linq实体从表中删除特定列,asp.net,asp.net-mvc,asp.net-mvc-3,linq-to-entities,Asp.net,Asp.net Mvc,Asp.net Mvc 3,Linq To Entities,Linq to entity查询通过匹配条件从表中删除特定列 public ActionResult deleteChecks(string checkValue) { check_master checks = (from table in db.check_master where table.check_code == checkValue sel

Linq to entity查询通过匹配条件从表中删除特定列

public ActionResult deleteChecks(string checkValue)
    {
        check_master checks = (from table in db.check_master
                              where table.check_code == checkValue
                              select table).First();
        //now how to delete/remove checks.mcheck

        return View("Edit");
    }`

只想更新表check_master中具有空值(所选行)的单个列元素

我认为Linq to Entities只支持DML,不支持DDL操作。 因此,必须使用存储过程或ADO.NET原始查询

编辑

您可以执行如下简单更新:

public ActionResult deleteChecks(string checkValue)
{
    check_master checks = (from table in db.check_master
                          where table.check_code == checkValue
                          select table).First();

    checks.mcheck = null;
    db.SaveChanges();

    return View("Edit");
}`

实体框架仅适用于常量表方案。 请告诉我,你的全球目标是什么,也许有更合适的方法

更新:

foreach(var chm in db.check_master)
{
    chm.mcheck = null;
}
db.SaveChanges();

您可以将单个属性(映射到列)设置为null,并将其保存到数据库中

foreach(check_master check in checks)
{
   check.mcheck = null;
}

db.SaveChanges();
{


}

假设我想在我们的例子中删除整行“checks”,那么我只需做一个类似db.check\u master.Remove(checks)的查询即可;。但在我的问题中,我想用mcheck列的“null”值更新我的表匹配(条件)行。我不确定我是否理解您的意思。。。所以您不想实际删除表列,您只想在此列中为所有行设置NULL?是的,我不想删除整列,我只想更新该列的元素(选定)。假设我有一个值为“1”、“2”、“4”的列,现在我想用NULLoh更新值“2”,那么你的问题非常容易误导,请编辑它并更正!您不想删除任何内容,甚至不想删除行,当然也不想删除列。您需要简单的更新。查看我的答案编辑。我正在做的…check\u master checks=db.check\u master.First(a=>a.check\u code==checkValue);db.DeleteObject(检查);。。。。。但是在我的控制器中,不支持使用DeleteObject(甚至没有intellisense)…我是否缺少在代码中使用任何程序集检查此“使用db作为新HelloFentities Dim qStr=“Delete”&“FROM Employee”db.ExecuteStoreCommand(qStr)db.SaveChanges()End Using”
using (NorthwindDataContext db = new NorthwindDataContext())
// Retrieve the existing entity. Database Call 1

Product product = db.Products.First(p => p.ProductID == 1);



// Change the properties. LINQ to SQL knows

// these specific properties have changed.

product.UnitsInStock = 14;



// Flush the changes. Database Call 2

db.SubmitChanges();