Entity Framework(v5)オブジェクトで部分クラス(.NET 4.5)を使用しています。この部分クラスにインターフェイスを追加しましたが、このインターフェイスに対してEFオブジェクトをテストすることは誤りですが、インターフェイスが部分クラスで定義されているため、認識されるはずです。これが私が試していることです:
public interface Product : ILastModified
{
public DateTime LastModified { get; set; }
}
次に、データレイヤーでこれを試しています。
public virtual int Update<T>(T TObject) where T : class
{
//WHY ALWAYS FALSE?
if (TObject is ILastModified)
{
(TObject as ILastModified).LastModified = DateTime.Now;
}
var entry = dbContext.Entry(TObject);
dbContext.Set<T>().Attach(TObject);
entry.State = EntityState.Modified;
return dbContext.SaveChanges();
}
問題は、「if(TObject is ILastModified)」を部分クラスに設定しても、常にfalseになることです。私は何か間違ったことをしていますか、それともこのようなことを達成する方法はありますか?