【发布时间】:2012-02-15 11:30:33
【问题描述】:
我正在创建 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 天后删除,如果我选择“永远” "它不应该被删除。
我该怎么做?
提前致谢。
【问题讨论】:
-
你能输入 expiresOn 日期吗?那么他记录的每个查询检查都没有过期?并定期清除过期记录?
-
这是唯一的解决方案。但我想运行作业(如在 sql server 中),以便在到期日期发生时自动删除。
-
请告诉我如何删除隔离存储中的表?
标签: linq-to-sql windows-phone-7 local-database