有选择地从数据库获取和删除帖子

时间:2012-02-19 07:25:13

标签: c# database silverlight windows-phone-7 sqlmetal

在我的Windows Phone 7应用程序中,我有sqlmetal生成的数据库类。 另外,我有一个有助于使用这个数据库的类。

    public static IList<Task> GetTasks()
    {
        IList<Task> tasks = new List<Task>();
        using (var context = new MyDBContext(ConnectionString))
        {
           tasks = (from emp in context.Tasks select emp).ToList();
        }
        return tasks;
    }

此代码返回数据库中的所有帖子。

我的问题:

  • 1)我如何才能获得帖子,例如,只有特定日期(日期时间)或ID(int)?
  • 2)有没有办法从数据库中删除帖子?

2 个答案:

答案 0 :(得分:1)

试试这个:

tasks = from emp in context.Tasks 
        where emp.ID == yourId
        select emp;

要从数据库中删除帖子,请使用DeleteOnSubmit(entity)方法,如:

context.Tasks.Attach(entityToDelete);
context.Tasks.DeleteOnSubmit(entityToDelete);
context.SubmitChanges();

答案 1 :(得分:1)

1)您应该在LINQ语句中添加“where”。像这样:

from emp in context.Tasks select emp where emp.Date == new DateTime(2011, 11, 11)

2)要从数据库中删除帖子,您应该执行三个简单的步骤:

  1. 获取您要从db中删除的帖子

    tasks = from emp in context.Tasks select emp where emp.Date > new DateTime(2011, 11, 11)

  2. 使用我们要删除的任务调用DataContext对象的DeleteAllOnSubmit方法

    dbContext.DeleteAllOnSubmit(tasks);

  3. 调用DataContext对象的SubmitChahges方法。

    dbContext.SubmitChanges();