Why DateTime Version field is initialized with 0001.01.01 instead of DateTime.Now
DateTime.Now sets only after changing entity
Here is sample Code:
using System;
using System.Linq;
using Xtensive.Storage;
using Xtensive.Storage.Configuration;
using Project1.Model;
namespace Project1
{
[Serializable]
[HierarchyRoot]
public class MyEntity : Entity
{
[Field, Key]
public int Id { get; private set; }
[Field(Length = 100)]
public string Text { get; set; }
[Field, Version]
public DateTime Version { get; set; }
}
class Program
{
static void Main(string[] args)
{
var config = DomainConfiguration.Load("Default");
var domain = Domain.Build(config);
using (Session.Open(domain))
{
using (var transactionScope = Transaction.Open())
{
var helloWorld = new MyEntity { Text = "Hello World!" };
transactionScope.Complete();
}
}
using (Session.Open(domain))
{
using (var transactionScope = Transaction.Open())
{
foreach (var myEntity in Query.All<MyEntity>())
Console.WriteLine(myEntity.Version);
transactionScope.Complete();
}
}
using (Session.Open(domain))
{
using (var transactionScope = Transaction.Open())
{
var helloWorld = Query.All<MyEntity>().First();
helloWorld.Text += ".";
transactionScope.Complete();
}
}
using (Session.Open(domain))
{
using (var transactionScope = Transaction.Open())
{
foreach (var myEntity in Query.All<MyEntity>())
Console.WriteLine(myEntity.Version);
transactionScope.Complete();
}
}
Console.ReadKey();
}
}
}
This thread was imported from our support forum. The original discussion may contain more detailed answer.
asked
Jul 15 '10 at 12:15
pil0t
207●57●57●63
To be fixed.
Issue: http://code.google.com/p/dataobjectsdot ... ail?id=750