Ich habe versucht, Daten aus meiner Tabelle mit Entity-Framework mit Hilfe von abrufen. Der Controller-Code wird wie folgt dar:FirstOrDefault gibt keine passende Antwort
public ActionResult getUser(MembershipModel model)
{
ProviderImplementation.Edmx.ProviderEntities providerEntities = new ProviderImplementation.Edmx.ProviderEntities();
//var membershipModel = new MembershipModel();
//var model = ProviderImplementation.Models.MembershipModel;
//bool isUserOnline = true;
if (!ModelState.IsValid)
{
var isValid = Membership.GetUser(model.UserName, true);
if (isValid != null)
{
var rowData = providerEntities.Users.Where(u => u.UserName.Equals(model.UserName)).FirstOrDefault();
model.UserName = rowData.UserName;
model.Password = rowData.Password;
model.UserId = Convert.ToInt32(rowData.UserId);
model.RoleId = Convert.ToInt32(rowData.RoleId);
//var singleValue = providerEntities.Users.Find(model.UserName);
ViewBag.User = "Found";
}
else
{
ViewBag.User = "Not Found";
}
}
else
{
var error = ModelState.Values.SelectMany(v => v.Errors);
ModelState.AddModelError("NoModelError", error.ToString());
}
return View(model);
}
Auch meine Tabellendaten sind wie folgt: Tabellenname: User
Jetzt habe ich versucht, so viele Dinge, die es druckt auch die Daten im Blick mit dem ausgewählten spezifischen Datensatz.
Das Problem ist hier:
{Adaequat} -> 1. Wenn ich den Rekord mit Benutzername „abbas“ holen, wie es zunächst wird mit Benutzer-ID = 2 angetroffen wird es auch in der Ansicht Ansicht Code gedruckt ist :
<div style="margin-left: 200px;">
<table cellpadding="10" cellspacing="10">
<tr>
<th>Get User Details</th>
</tr>
<tr>
<th>@ViewBag.User</th>
</tr>
<tr>
<td>@Html.LabelFor(m => m.UserId)</td>
<td>@Html.LabelFor(m => m.UserName)</td>
<td>@Html.LabelFor(m => m.Password)</td>
<td>@Html.LabelFor(m => m.RoleId)</td>
</tr>
<tr>
<td>@Html.DisplayFor(Model=>Model.UserId)</td>
<td>@Html.DisplayFor(Model=>Model.UserName)</td>
<td>@Html.DisplayFor(Model=>Model.Password)</td>
<td>@Html.DisplayFor(Model=>Model.RoleId)</td>
</tr>
</table>
</div>
{Problem} -> 2. Wenn ich den Rekord mit Benutzername „Abbas“ holen UserId mit = 4 dann FirstOrDefault druckt die obigen Daten von Username = „abbas“ als erstes angetroffen und Username nicht gedruckt = "Abbas" in Ansicht.
Hinweis: SingleOrDefault gibt eine Ausnahme zurück, die besagt, dass mehr als eine Instanz gefunden wurde.
Update: Während des Debuggens, wenn ich die Werte ändere, druckt es perfekt aus der Datenbank.
was ist die Frage? –
Bitte lesen Sie http://StackOverflow.com/Help/how-to-ask und bearbeiten Sie dann die Frage – MikeT
ok ich werde es lesen und versuchen, es nach Bedarf zu bearbeiten. –