1
我是一個具有Ruby和Node.js背景的開發,但目前正在使用實體框架& SQL Server的C#API。從一個實體對象繼承的對象放入數據庫與鑄
我有一個實體「Fon_Campaign」,但我想一些方法添加到該實體,所以我增加了一個對象「運動」,從「Fon_Campaign」繼承,並給這個新對象的方法isValid()
該款腕錶價值和如果對象是正確的,則回答。
我的API方法
[Route("Campaigns")]
[HttpPost]
public HttpResponseMessage CreateCampaigns([FromBody]Campaign campaign)
{
if (campaign == null)
{
ErrorMessage resp = new ErrorMessage();
resp.error = "Parameters are missing";
return Request.CreateResponse(HttpStatusCode.BadRequest, resp);
}
else if (campaign.IsValid())
{
Fon_Campaign c = campaign;
db.Fon_Campaign.Add(c); // Error: An exception of type 'System.InvalidOperationException' occurred in EntityFramework.dll but was not handled in user code, c is considering like an Campaign value and not Fon_Campaign
db.SaveChanges();
return Request.CreateResponse(HttpStatusCode.OK, c);
}
else
{
ErrorMessage resp = new ErrorMessage();
// Add some explanation
resp.error = "New campaign is invalid";
return Request.CreateResponse(HttpStatusCode.BadRequest, resp);
}
}
當我試圖保存對象到我的數據庫,我通知這個對象是「運動」,我不能把它放到數據庫,因爲我必須把在Fon_Campaign
,所以演員沒有工作。
我的模型
public class Campaign : Fon_Campaign
{
public bool IsValid()
{
return true;
}
}
希望能幫到你,或者給我一些指示爲做一個最好的辦法。