【发布时间】:2011-03-14 10:38:56
【问题描述】:
我声明了下表
namespace RLSBCWebSite.Domain.Entities
{
[Table( Name = "tblFixtures" )]
[DisplayColumn( "Date", "Date", false )]
public class Fixture
{
[HiddenInput( DisplayValue = false )]
[Column( IsPrimaryKey = true, IsDbGenerated = true, AutoSync = AutoSync.OnInsert )]
public int FixtureID { get; set; }
[Required( ErrorMessage = "Please select Male, Female or Mixed" )]
public string Gender { get; set; }
...... more columns
public IEnumerable<ValidationResult> Validate( ValidationContext validationContext )
{
if (((ScoreFor > 0) || (ScoreAgainst > 0)) && (!String.IsNullOrEmpty( Comments )))
yield return new ValidationResult( "Please complete either ScoreFor & ScoreAgainst or Comments!", new[] { "Comments" } );
}
}
}
我的 DbContext 如下:
namespace RLSBCWebSite.Domain.Entities
{
public class RLSBCWebSiteDb : DbContext
{
public DbSet<Officer> tblOfficers { get; set; }
public DbSet<Fixture> tblFixtures { get; set; }
public DbSet<CompetitionWinner> tblCompetitionWinners { get; set; }
}
}
我的 Web.Config 有:
<connectionStrings>
<add name="RLSBCWebSiteDb"
connectionString="data source=MAINPC\SQLEXPRESS;Initial Catalog=RLSBCWebSite;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
我的控制器代码是:
RLSBCWebSiteDb rlsbcWebSite = new RLSBCWebSiteDb();
[HttpPost]
public ActionResult CreateFixture(Fixture fixture)
{
if (ModelState.IsValid)
{
rlsbcWebSite.tblFixtures.Add( fixture );
rlsbcWebSite.SaveChanges();
return RedirectToAction( "MensResults", new { id = fixture.MatchDate.Year.ToString() } );
}
return View( fixture );
}
当我尝试保存条目时,在执行 .SaveChanges() 语句时,我收到带有以下错误消息的 SQL UpdateException。
无效的对象名称“dbo.Fixtures”。
为什么它试图更新一个名为 Fixtures 的表?当然,它应该更新 tblFixtures。
【问题讨论】:
标签: entity-framework asp.net-mvc-3 ef-code-first