У меня объявлена следующая таблица
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 );
}
Когда я пытаюсь сохранить запись, я получаю исключение SQL UpdateException со следующим сообщением об ошибке при выполнении оператора .SaveChanges ().
Неверное имя объекта 'dbo.Fixtures'.
Почему он пытается обновить таблицу с именем Fixtures? Конечно, это должно быть обновление tblFixtures.