Windows Phone 7.5 — локальная база данных SQL

Я создаю приложение WP7.

В этом приложении я использую LINQ to SQL для создания локальной базы данных. Я создал такой класс:

[Table]
public class User
{
    [Column(
        IsPrimaryKey = true,
        IsDbGenerated = true,
        DbType = "INT NOT NULL Identity",
        CanBeNull = false)]
    public int Id { get; set; }

    [Column]
    public string FirstName { get; set; }

    [Column]
    public string LastName { get; set; }     
}

и у меня есть контекст данных, как показано ниже:

public class UserDataContext : DataContext
    {
        public static string connString = "Data Source=isostore:/Users.sdf";

        public UserDataContext(string connString)
            : base(connString)
        { }

        public Table<User> Users;
    }

Я сохраняю данные, используя следующий код:

User user = new User
            {
                FirstName = tbFirstName.Text,
                LastName = tbLastName.Text,
                CreatedOn = DateTime.Now
            };
using (var db = new UserDataContext(UserDataContext.connString))
            {
                db.Users.InsertOnSubmit(user);
                db.SubmitChanges();
            }

Но вот моя проблема: при сохранении списка пользователей есть переключатели, такие как "Сохранить на 1 день", "30 дней" или "навсегда". Если я выберу "один день", я должен сохранить его в течение 1 дня, тогда пользователи из локальной базы данных должны быть удалены через один день, а если я выберу "30 дней", они должны быть удалены через 30 дней, а если я выберу "навсегда " его нельзя удалять.

Как я могу это сделать?

Заранее спасибо.


person Mahi Kumar    schedule 15.02.2012    source источник
comment
Можете ли вы указать дату expiresOn? Затем каждый запрос проверяет, не истек ли срок действия записи? И периодически очищать просроченные записи?   -  person peterept    schedule 15.02.2012
comment
это единственное решение. но я хочу запускать задания (например, на сервере sql), чтобы они автоматически удалялись при истечении срока действия.   -  person Mahi Kumar    schedule 15.02.2012
comment
И подскажите пожалуйста, как удалить таблицу в изолированном хранилище?   -  person Mahi Kumar    schedule 15.02.2012


Ответы (1)


Я бы добавил еще один столбец в таблицу (срок годности). А затем я бы очистил данные с помощью простого запроса

DELETE FROM User    
WHERE (expiryDate < GETDATE())

Вы можете сделать это и в Linq2Sql.

person gprasant    schedule 15.02.2012