基於this link它看起來像我可以通過簡單地使更改跟蹤獲取日期插入/修改日期的信息「免費」(無需觸發器等)使用SQL Server 2008 。我正在使用實體框架來訪問數據。我的問題是,如何通過Entity Framework和LINQ訪問數據庫記錄的日期修改/日期插入信息?
我使用VS2008,所以我沒有新的EF v4的東西,但(但如果它能夠在新的EF來完成請讓我知道)。
謝謝。訪問SQL Server 2008中的更改跟蹤信息通過實體框架
2
A
回答
0
OK,這個精美的作品(見this article)...
public partial class MyEntities
{
partial void OnContextCreated()
{
this.SavingChanges += new System.EventHandler(CustomSavingChangesLogic);
}
/// <summary>
/// Apply timestamps
/// </summary>
public void CustomSavingChangesLogic(object sender, System.EventArgs e)
{
var changedEntities = ((ObjectContext)sender).ObjectStateManager.GetObjectStateEntries(EntityState.Added | EntityState.Modified);
foreach (var stateEntryEntity in changedEntities)
{
if(!stateEntryEntity.IsRelationship) {
var entity = stateEntryEntity.Entity;
var lastModifiedPropInfo = entity.GetType().GetProperty("LastModified");
if (lastModifiedPropInfo != null)
lastModifiedPropInfo.SetValue(entity, DateTime.UtcNow, null);
if (stateEntryEntity.State == EntityState.Added)
{
var createdPropInfo = entity.GetType().GetProperty("Created");
if (createdPropInfo != null)
createdPropInfo.SetValue(entity, DateTime.UtcNow, null);
}
}
}
}
}
0
哦,沒關係。我發現很容易,只需在每個表中創建Inserted和LastModified列,爲每個表設置默認值,然後爲LastModified構建更新觸發器。這似乎是人們所做的事情,而變更跟蹤看起來像主要是爲了同步而設置的。對?
相關問題
- 1. SQL Server 2008更改跟蹤
- 2. SQL Server 2008更改跟蹤
- 3. 支持使用實體框架的SQL Server更改跟蹤6
- 4. 實體框架5跟蹤更改
- 5. 同步框架與SQL Server 2008更改跟蹤
- 6. SQL Server更改跟蹤已清除跟蹤信息 - 錯誤
- 7. SQL 2008 FTS跟蹤更改
- 8. 實體框架條目更改跟蹤問題
- 9. 實體框架監聽SQL Server更改
- 10. 實體框架從SQL Server 2005更改爲2008 R2
- 11. 使用實體框架跟蹤datagridview中的對象更改
- 12. 實體框架如何跟蹤更新?
- 13. 實體框架變更跟蹤
- 14. 實體框架中的字段更改跟蹤
- 15. 實體框架跟蹤問題
- 16. 通過實體框架記錄更改
- 17. 如何在實體框架中設置SQL Server 2008的登錄信息?
- 18. 實體框架 - 自我跟蹤實體
- 19. ADO.NET框架更改跟蹤
- 20. 實體框架中的模型跟蹤
- 21. SQL Server:表更改跟蹤
- 22. 訪問衝突在實體框架代碼訪問SQL Server的
- 23. SQL Server 2008跟蹤列過濾器
- 24. 實體框架 - 跟蹤非虛擬屬性的更改
- 25. 實體框架:跟蹤對獨立關聯的更改
- 26. 實體框架:跟蹤對FK關聯的更改
- 27. 實體框架基於推送的更改跟蹤
- 28. 在MySQL(和php)中修改跟蹤實體的框架?
- 29. SQL Server 2008中的保留期更改跟蹤
- 30. 實體框架自我跟蹤和客戶端沒有跟蹤更改
哇!但是現在儘管如果我在數據庫中手動插入/編輯,默認和觸發器的工作效果很好,但使用實體框架添加/修改時它們仍然爲空!我甚至試過[綁定(排除=「Id,創建,LastModified」)]但仍然沒有運氣。幫幫我! 我可以「不接受」我的在先答案:-) – Vince 2010-01-22 22:53:54