2012-02-19 1 views
2

В моем приложении windows 7 7 у меня есть класс базы данных, созданный sqlmetal. Кроме того, у меня есть класс, который помогает работать с этой базой данных.selective получить и удалить сообщения из базы данных

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) Можно ли удалить записи из базы данных?

ответ

1

Попробуйте это:

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

Чтобы удалить сообщения из тэ использования Databse DeleteOnSubmit(entity) метод как:

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

большое спасибо! – tbsasa

1

1) Вы должны добавить 'где' к выписке LINQ. Как это:

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

2) Для того, чтобы удалить сообщения из базы данных вы должны сделать три простых шага:

  1. Получить сообщения вы хотите удалить из БД

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

  2. вызова Метод DeleteAllOnSubmit вашего объекта DataContext с нашими задачами для удаления

    dbContext.DeleteAllOnSubmit(tasks);

  3. Вызов метода SubmitChahges объекта DataContext.

    dbContext.SubmitChanges();

 Смежные вопросы

  • Нет связанных вопросов^_^