2011-07-07 26 views
1

我的數據庫表有一個Timestamp列,我使用LINQ插入,更新SQL數據庫中的數據。現在我想在我的數據庫中添加時間戳值,但我不知道如何?如何通過使用LINQ添加SQL數據庫中的時間戳值

我似乎在網上的各種例子,他們沒有寫入任何代碼插入數據庫中的值,它自動插入插入數據。而我在表中看到也沒有默認值分配,然後如何通過uisng LINQ將時間戳插入數據庫?

回答

1

我假設你的意思是你有一個表,有一個時間戳列數據類型。我的回答假設這就是你的意思。

您不提供具有Timestamp(Rowversion)數據類型的列的值。 SQL Server將自動爲您提供一個值(並且它不會是日期時間值)。因此,您無需關心讓Linq To SQL爲您插入Timestamp值。事實上,你不能這樣做。 SQL Server會爲你做。但是,您可以檢索Timestamp列的值。我相信相應的C#類型將是System.Data.Linq.Binary。

+0

我們可以在SQL數據庫表中使用多個時間戳列嗎? –

+0

@Gaurav - 我不知道,但你爲什麼要這麼做?此列僅包含用於併發目的的內部(到SQL Server)行版本號。你不需要或不在乎知道這個值是什麼。然而,L2S可以將它用於併發檢查。 –

0

例如你有以下的模型類creted爲表用戶

public partial class User 
{ 
    public int UserID{get;set;} 
    public string UserName{get;set;} 
    public DateTiem TimeStamp{get;set;} 
} 

你可以寫類似

User user = new User{UserName = "xyz", TimeStamp = DateTime.Now}; 
MyDataContext context = new MyDataContext(); 
context.Users.InsertOnSubmit(user); 
context.SubmitChanges(); 
+0

但在許多例子中自動插入時間戳值。怎麼樣? –

+0

如果你想變得聰明,你可以實現INotifyPropertyChanged並且在屬性更改時手動更新TimeStamp –

+0

可能是SQL Server中的觸發器? –

相關問題