MVC e EF - Como chamar método e persistir

24/06/2013

0

Tenho uma aplicação de testes e criei um View create e no controller Home, coloquei meu código no ActionResult Create. Bem, o que passa é que eu não consigo pegar na minha Models(já criei uma classe para persistência) essa classe de persistência com seus devidos métodos e gravar no BD. Estou pesquisando na net, mas se alguém puder me ajudar, agradeço desde então.
Pjava

Pjava

Responder

Posts

24/06/2013

Pjava

Pesquisei e encotrei isso, mas comigo dá erro. Abaixo minha classe de contexto

public class FuncContexto: DbContext
{
public DbSet<Funcionario> funcionarios { get; set; }
public DbSet<Estado> estados { get; set; }
}

e minha controller


public class HomeController : Controller
{
FuncContexto fcontex = new FuncContexto();

public ActionResult Index()
{
return View(fcontex.funcionarios.ToList());
}

[HttpPost]
public ActionResult Create(Funcionario _func)
{
try
{
if(!ModelState.IsValid)
return View();

fcontex.funcionarios.Add(_func);==> Aqui dá o erro
fcontex.SaveChanges();

return RedirectToAction("Index");
}
catch
{
return View();
}
}

public ActionResult Create()
{
return View(new Funcionario());
}

...

Abaixo os erros

Argument 1: cannot convert from 'Teste.Funcionario' to 'Teste.Models.Funcionario'

e esse

The best overloaded method match for 'System.Data.Entity.DbSet<Teste.Models.Funcionario>.Add(Teste.Models.Funcionario)' has some invalid arguments

Responder

24/06/2013

Pjava

Descobri, depois de tanto bater a cabeça. É que no meu projeto havia um arquivo edmx e criei uma classe com o mesmo nome de uma entidade, por isso o erro, pois ele não sabia que entidade usar, se do edmx ou da classe. Removi o edmx e agora não deu erro, mas também não grava no BD. Não dá erro, mas não grava pelo código que eu fiz copiando da net, nesse link

http://weblogs.asp.net/andrebaltieri/archive/2011/01/18/criando-uma-aplica-231-227-o-asp-net-mvc-com-ef-code-first-development.aspx
Responder

25/06/2013

Pjava

Eu removi o edmx apenas para testar o erro. Já refiz o edmx e renomeei a classe. Ainda não consegui. Fiquei até tarde da noite e como não havia conseguido nada, estou agora pela manhã recomeçando. Fiz exatamente conforme o link passado. Uso VS2012 e MVC 4.
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar