[DatabaseGenerated(DatabaseGeneratedOption.Computed)]
この属性を使用する EF5 コードの最初のプロジェクトがあります。
このオプションは私の設定を上書きしています。
次の SQL テーブルを検討してください。
CREATE TABLE Vehicle (
VehicleId int identity(1,1) not null,
Name varchar(100) not null default ('Not Set')
)
[Name] が設定されていない場合は、SQL のデフォルト コンストラクトを使用して設定しています。
コード ビハインドでは、次のようなクラスが定義されています。
public class Vehicle {
...
[DatabaseGenerated(DatabaseGeneratedOption.Computed)]
public string ShoulderYN { get; set; }
}
コードでエンティティを更新すると、デフォルトで設定された値が新しい設定を上書きします。
コードでは、(疑似):
vehicle.Name = 'Update Name of Vehicle';
_dbContext.Update(vehicle);
_dbContext.SaveChanges();
期待される結果はVehicle.Name = 'Update Name of Vehicle'
です。
実際の結果はVehicle.Name = 'Not Set'
.
EF5 で言う方法はあり
ますか: Vehicle.Name が null/empty の場合、データベースで定義された値を使用しますか? それ以外の場合、コードで値を設定すると、この値を使用したいと思います。