MachineRecord
Orchardでは、いくつかのプロパティで呼び出されたモデルがあり、すべて正常に機能しましたが、1つのプロパティDateAdded
を追加し、サンプルデータをデータベースに追加すると、後で追加したプロパティを除いて、すべての値が投稿されます。
MachineRecord.cs
public class MachineRecord
{
public virtual int Id { get; set; }
public virtual GroupRecord GroupRecord { get; set; }
public virtual int MachineNumber { get; set; }
public virtual string Title { get; set; }
public virtual string Description1 { get; set; }
public virtual string Description2 { get; set; }
public virtual string Description3 { get; set; }
public virtual string Description4 { get; set; }
public virtual string Description5 { get; set; }
public virtual string Description6 { get; set; }
public virtual int SerialNumber { get; set; }
public virtual string PriceType { get; set; }
public virtual decimal Price { get; set; }
public virtual int Year { get; set; }
public virtual DateTime DateAdded { get; set; }
}
ここで、私が言ったように、いくつかのサンプルデータを追加します。そのプロパティを追加する前に、すべて正常に機能しました。
public void AddItems()
{
GroupRecord groupRecord = new GroupRecord()
{
Name = "Grondbewerking"
};
groupRepository.Create(groupRecord);
MachineRecord machineRecord = new MachineRecord()
{
GroupRecord = groupRecord,
Title = "Hassia zaaimachine",
MachineNumber = 100000,
Description1 = "25 Pijpen",
Description2 = "Traploos",
Description3 = "Mech. markeurs",
Description4 = "Max. 30 pijpen",
Description5 = "+ na egje",
Description6 = "Ongecontroleerd",
SerialNumber = 100001,
Price = 1600.00m,
PriceType = "Marge",
Year = 2005,
DateAdded = new DateTime(2012, 11, 9)
};
machineRepository.Create(machineRecord);
}
それでコードに足を踏み入れ、最終的に何かがうまくいかないメソッドにたどり着きました。ここで値とプロパティが実際にエンティティにあることがわかります。それで問題ありませんが、他のパラメータを見るとpropertyNames
、あなたはここでそれがすべてのプロパティ名を持っているのを見ることができます、例外DateAdded
!そこで、最後に生成されたSQLクエリをさらに調べましたが、プロパティはそこにないため、データベースセルはで埋められていNULL
ます。
db列のデータ型がであることを確認し、datetime
mappings.binを削除して、NHibernateがすべてのプロパティを再度キャッシュするようにしましたが、結果はありませんでした。
編集:
私のmigrations.csを投稿するのを忘れました。
Migrations.cs
public class Migrations : DataMigrationImpl
{
public int Create()
{
SchemaBuilder.CreateTable("MachineRecord", table => table
.Column<int>("Id", c => c.PrimaryKey().Identity())
.Column<int>("GroupRecord_Id")
.Column<int>("MachineNumber", c => c.NotNull())
.Column<string>("Title", c => c.NotNull().WithLength(40))
.Column<string>("Description1", c => c.WithLength(70))
.Column<string>("Description2", c => c.WithLength(70))
.Column<string>("Description3", c => c.WithLength(70))
.Column<string>("Description4", c => c.WithLength(70))
.Column<string>("Description5", c => c.WithLength(70))
.Column<string>("Description6", c => c.WithLength(70))
.Column<string>("SerialNumber", c => c.WithLength(6))
.Column<string>("PriceType", c => c.NotNull())
.Column<decimal>("Price", c => c.NotNull())
.Column<int>("Year", c => c.WithLength(4))
.Column<DateTime>("DateAdded", c => c.WithType(DbType.DateTime))
);
SchemaBuilder.CreateTable("GroupRecord", table => table
.Column<int>("Id", c => c.PrimaryKey().Identity())
.Column<string>("Name")
);
return 1;
}
}
誰かがこれを修正する方法を知っていますか?前もって感謝します!