我对 fluentNhibernate 和 MySQL 有点小问题。 我想映射我的实体:
public class Topic
{
public Topic()
{
ParentTopic = null;
}
public virtual Guid Id { get; set; }
public virtual string Name { get; set; }
public virtual DateTime CreatedAt { get; private set; }
public virtual Guid CreatedBy { get; set; }
public virtual IList<Post> Posts { get; set; }
public virtual Topic ParentTopic { get; set; }
}
到同名表。我最大的问题是如何进行 CreatedAt
的映射,以便在数据库中获得一个时间戳,该时间戳仅在插入时更改而在更新时被忽略。
谢谢;)
最佳答案
找到了我的小问题的答案:)
public class TopicMap : ClassMap<Topic>
{
public TopicMap()
{
Table("Topics");
Id(t => t.Id).GeneratedBy.Guid();
Map(t => t.CreatedAt).Not.Nullable().Generated.Insert().CustomSqlType("timestamp");
Map(t => t.CreatedBy).Not.Nullable();
Map(t => t.Name).Not.Nullable().Length(500);
HasMany(t => t.Posts);
References(t => t.ParentTopic).Nullable().Cascade.All().ForeignKey("FK_Topic_ParentTopic");
}
}
这在我的单元测试中很有用。希望以后不要产生更大的问题。
如果有人对此有疑问,请告诉我。
关于mysql - 将 DateTime 属性映射到时间戳 mysql+fluent nhibernate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2212697/