我创建了一个简单的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);
}
}
如何使用删除语法?
答案 0 :(得分: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中删除数据
答案 1 :(得分:0)
您必须使用ctx.Words.Remove(word);