0

我创建了一个简单的 Windows 控制台应用程序来使用 VS2012 和 .NET 4.5 测试实体框架。

我添加了一个 ADO.NET 实体数据模型来从我的数据库创建一个模型。我用这种语法使用它,但我怎样才能删除一些东西?

static void Main(string[] args)
    {
        using (var ctx = new HKDBEntities())
        {
           int wordId=2;
          var selectedWords = (from o in context.Addresses 
                                where o.word== wordId
                                select o).FirstOrDefault(); 

           //these syntaxt is unavailable why????
           ctx.Words.Delete(word);
           ctx.DeleteObject(word);

          // i test remove method but works not gave me some error
             context.Words.Remove(selectedWords);
        }
    }

如何使用删除语法?

4

2 回答 2

1

使用这个:ctx.Words.Remove(word)。不要忘记 SaveChanges(); 在处理上下文之前。!!!!!!!!!我已经更新了答案!!!!!!关于这个问题的新想法:

static void Main(string[] args)
    {
        using (var ctx = new HKDBEntities())
        {
           int wordId=2;
          // This will get the first Addresses which have a `Words` with `WordId`==2
          var selectedWords = ctx.Addresses.First(e=>e.Words.WordId==wordId); 
          //If you want to get to selectedWords the `Words` entity and delete it you should use:
          selectedWords = cts.Words.First(e=>e.WordId == wordId);

          ctx.Words.Remove(selectedWords);
          ctx.SaveChanges();
        }
    }

当您从上下文中获取数据时,您试图访问从 ctx 中删除数据

于 2013-02-14T11:29:48.767 回答
0

你必须使用ctx.Words.Remove(word);

于 2013-02-14T11:22:35.010 回答