var user = new User()
{
Username = "a",
Password = "b",
};
user.Save();
Console.WriteLine(user.ID) // prints "504"
Console.WriteLine(user.IsLoaded()) // prints "false"
如果在ID
上自动设置Save()
属性,我预计IsLoaded()
也会设置为true
。为什么我有责任致电user.SetIsLoaded(true);
?
(我知道我可以编辑ActiveRecord.tt
以使其正常工作,但也许我只是不明白IsLoaded()
实际代表什么。)
答案 0 :(得分:0)
IsLoaded
表示您正在查看的记录表示数据库中的数据。例如,这用于检测记录是否脏。 IsLoaded == false
个记录不会变脏,因为它们不代表数据库中的数据。 IsLoaded == true
会这样做,因此更改此类记录的属性会将其设置为脏,您可以再次保存记录。
Subsonic 3 Save() then Update()?还描述了一些细节。