2012-02-15 112 views
0

我正在創建WP7應用程序。Windows Phone 7.5 - 本地SQL數據庫

在那個應用程序中,我使用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天后刪除,如果我選擇「永久」不應刪除

我該怎麼做?

在此先感謝。

+0

,你可以把一個expiresOn日期清除數據?那麼每個查詢檢查他的記錄是否沒有過期?並定期清除過期的記錄? – peterept 2012-02-15 12:45:51

+0

這是一個解決方案。但我想運行的工作(如在SQL服務器),以便它將被自動刪除過期日期發生時。 – 2012-02-15 12:51:06

+0

請告訴我如何刪除隔離存儲中的表格? – 2012-02-15 12:57:49

回答

0

我會添加另一列到表(到期日期)。 然後,我會用一個簡單的查詢

DELETE FROM User  
WHERE (expiryDate < GETDATE()) 

可以在LINQ2SQL做到這一點,以及