Tag: entity framework4.1

使用Entity Framework删除多对多关系

我有三个表学生(studID,fullName,性别……),注册(studID,courseID,日期)和课程(courseID,courseName,…)。 我使用下面的代码删除了包含studID 001的Enroll表中的所有记录,其中有大约三个学生签名的课程。 但是,它只删除一条记录。 using(var context = new DBEntities()) { var _stud = (from s in context.Students where s.studID == “001” select s).FirstOrDefault(); var _course = _stud.Courses.FirstOrDefault(); _course.Students.Remove(_stud); context.SaveChanges(); } 我在这里想念什么?

Webforms数据绑定与EF Code-First Linq查询错误

在此示例中,Scott显示对dbContext执行Linq查询并将结果直接绑定到GridView以显示产品列表。 他的例子是使用Code First的CTP4版本。 但是,当我尝试使用最新版本的EntityFramework 4.1做同样的事情时,我收到以下错误: 不支持直接绑定到商店查询(DbSet,DbQuery,DbSqlQuery)的数据。 而是使用数据填充DbSet,例如通过在DbSet上调用Load,然后绑定到本地数据。 我看到DBQuery对象在IListSource.GetList()的实现中故意抛出此错误,IListSource.GetList()用于数据绑定。 为什么他的例子有效? 顺便说一句,我知道我可以通过放入一个projects.ToList()来完成这项工作。 我的主要问题是发布版本中的某些内容是否发生了变化,使得此类内容不再起作用,或者我是否遗漏某些可以解决此错误的内容。 仅供参考,我指的是这样的代码: MyDbContext db = new MyDbContext(); var projects = from p in db.Projects where p.AnotherField == 2 select p; grdTest.DataSource = projects; grdTest.DataBind();