C# 从数据库中选择性地获取和删除帖子

C# 从数据库中选择性地获取和删除帖子,c#,database,silverlight,windows-phone-7,sqlmetal,C#,Database,Silverlight,Windows Phone 7,Sqlmetal,在我的WindowsPhone7应用程序中,我有一个由sqlmetal生成的数据库类。 此外,我还有一个类可以帮助处理这个数据库 public static IList<Task> GetTasks() { IList<Task> tasks = new List<Task>(); using (var context = new MyDBContext(ConnectionString)) {

在我的WindowsPhone7应用程序中,我有一个由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;
    }
公共静态IList GetTasks()
{
IList tasks=新列表();
使用(var context=newmydbcontext(ConnectionString))
{
tasks=(从上下文中的emp.tasks选择emp.ToList();
}
返回任务;
}
此代码返回数据库中的所有帖子

    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)例如,我如何才能获得带有特定日期(datetime)或ID(int)的帖子
  • 2)有没有办法从数据库中删除帖子
试试这个:

tasks = from emp in context.Tasks 
        where emp.ID == yourId
        select emp;
要从te数据库中删除帖子,请使用以下方法:

context.Tasks.Attach(entityToDelete);
context.Tasks.DeleteOnSubmit(entityToDelete);
context.SubmitChanges();
1) 您应该在LINQ语句中添加“where”。像这样:

from emp in context.Tasks select emp where emp.Date == new DateTime(2011, 11, 11)
2) 要从数据库中删除帖子,您应该执行三个简单步骤:

  • 获取要从db中删除的帖子

    tasks=上下文中的emp。tasks选择emp,其中emp.Date>new DateTime(2011,11,11)

  • 使用要删除的任务调用DataContext对象的DeleteAllOnSubmit方法

    dbContext.deleteAllonsSubmit(任务)

  • 调用DataContext对象的SubmitChahges方法

    dbContext.SubmitChanges()