基于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