0

我正在创建 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();
            }

但这里我的问题是:在保存用户列表时,有诸如"Save for 1 Day""30 days""forever"这样的单选框。如果我选择“一天”,我必须保存 1 天,那么本地数据库中的用户应该在一天后删除,如果我选择“30 天”,它应该在 30 天后删除,如果我选择“永远”它应该不被删除

我怎样才能做到这一点?

提前致谢。

4

1 回答 1

0

我会在表中添加另一列(到期日期)。然后,我将使用简单查询清除数据

DELETE FROM User    
WHERE (expiryDate < GETDATE())

您也可以在 Linq2Sql 中执行此操作

于 2012-02-15T18:16:26.003 回答