Windows Phone 7.5 - Локальная база данных SQL - PullRequest
0 голосов
/ 15 февраля 2012

Я создаю приложение 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 дней, а если я выберу «навсегда» msgstr "это не должно быть удалено .

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

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

1 Ответ

0 голосов
/ 15 февраля 2012

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

DELETE FROM User    
WHERE (expiryDate < GETDATE())

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

...