マッピングにNHibernateとFluent NHibernateを使用する.NET Web APIアプリケーションで作業しています。スカラー関数の結果からIdにデフォルト値を割り当てることは可能です
私は名前のスカラー関数持た「next_photo_idを()」 Sharding & IDs at Instagram
ようInt64の番号を生成し、しかし、私は、MySQLのidカラムにデフォルト値としてスカラー機能を割り当てることができませんでした。私は試して、私はエラーが発生しました。
ALTER TABLE `photos`
CHANGE COLUMN `id` `id` BIGINT(20) NOT NULL DEFAULT next_photo_id() FIRST ;
私はFluentNhibernateを使ってアプリケーション側からIDを割り当てようとしました。
マイフォトテーブルのクラスマップは、挿入クエリでなければなりません
public class PhotoMap : ClassMap<Photo>
{
public PhotoMap()
{
Table("photos");
Id(m => m.Id).Column("id").Access.Property().Default("next_photo_id()");
Map(m => m.Caption).Column("caption");
}
}
写真テーブル、
Insert Into photos (id,caption) values (next_photo_id(),"test")
があるしかし、私はそれを行うことができませんでした。とにかくそれをするには?