Я пытаюсь удалить и войти в мою базу данных, нажав на ссылку удаления. Я также пытаюсь использовать сущность Framework:
Вот что у меня в контроллере:
public ActionResult DeleteUserUserList(string UserName)
{
using (UsersContext db = new UsersContext())
{
//var username = db.UserProfile.UserName;
db.Entry(UserName).State =
System.Data.Entity.EntityState.Deleted;
db.SaveChanges();
}
return RedirectToAction("UserList", "Account", new {UserName =
UserName});
}
Тогда моя модель выглядит так:
public class UsersContext : DbContext
{
public UsersContext()
: base("DefaultConnection")
{
}
public DbSet<UserProfile> UserProfiles { get; set; }
public DbSet<Membership> Membership { get; set; }
public DbSet<Role> Roles { get; set; }
}
[Table("UserProfile")]
public class UserProfile
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int UserId { get; set; }
public string UserName { get; set; }
public string Email { get; set; }
}
И вот как выглядит мой взгляд:
@model IEnumerable<ComtrexCloudReporting.Models.UserProfile>
@{
ViewBag.Title = "UserList";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2 class="admin-home-link orange-titles">@Html.ActionLink("User
Information", "AdminIndex")</h2>
<p> </p>
@foreach (var item in Model)
{
<p class=" col-sm-4 userNameUserList">@Html.DisplayFor(modelItem =>
item.UserName) </p>
<p class="col-sm-4 to-link"><span style="color: #f05322">|</span> <a
href="@string.Format("mailto:{0}",
item.Email)">@Html.DisplayFor(modelItem => item.Email)</a></p>
<p class="col-sm-4 to-link"><span style="color: #f05322">|</span> <span
onclick="return confirm('Are you sure to delete?')"><a class="back-link"
href="/Account/DeleteUserUserList?UserName=@item.UserName">Delete</a>
</p>
}
Я получаю сообщение об ошибке, что тип String не является частью модели для текущего контекста. Кто-нибудь знает, что я делаю не так? В этот момент происходит сбой: db.Entry (UserName) .State = System.Data.Entity.EntityState.Deleted;