2016-12-10 1 views
0

ПроблемаПолучить определенные данные из БД и отправить Просмотр

Это, очевидно, не работает, так как это был выстрел в темноте, что это лучший способ, чтобы получить данные с определенным идентификатором, а затем отправить/дисплей данные для просмотра

Модель

public partial class Profile 
{ 
    public int Id { get; set; } 
    public string Firstname { get; set; } 
    public string Lastname { get; set; } 

} 

контроллер

public ActionResult Details() 
    { 
     ProfileContext db = new ProfileContext(); 
     var data = (from c in db.Profiles 
        where c.Id == 1 
        select c).ToString(); 

     return View(data); 
    } 

Посмотреть

@model Learning4.Profile 

@{ 
    ViewBag.Title = "Details"; 
} 

<h2>Details</h2> 

<div> 
    <h4>Profile</h4> 
    <hr /> 
    <dl class="dl-horizontal"> 
     <dt> 
      @Html.DisplayNameFor(model => model.Firstname) 
     </dt> 

     <dd> 
      @Html.DisplayFor(model => model.Firstname) 
     </dd> 

     <dt> 
      @Html.DisplayNameFor(model => model.Lastname) 
     </dt> 

     <dd> 
      @Html.DisplayFor(model => model.Lastname) 
     </dd> 
    </dl> 
</div> 

данных

| ID | Имя: | Фамилия |
| 1   | Джон                   | Doe                   |

+0

Большое спасибо за помощь :) –

+0

Замените '.ToString()' на '.FirstOrDefault()' –

+0

@StephenMuecke. Вы абсолютная легенда, пожалуйста, отправьте это как ответ, я выберу это как лучшее решение, и вы получите от него несколько очков :) –

ответ

1

Ваше желание вернуть один объект, так что вы должны использовать .FirstOrDefault() (ваш запрос возвращает коллекцию, даже через него может содержать только один элемент)

public ActionResult Details() 
{ 
    ProfileContext db = new ProfileContext(); 
    var data = (from c in db.Profiles 
       where c.Id == 1 
       select c).FirstOrDefault(); 
    // or 
    data = db.Profiles.FirstOrDefault(x => x.Id == 1); 
    return View(data); 
} 
+0

, если бы я хотел получить только один фрагмент данных, например, только имя, есть ли возможность, я n отправить его через viewbag.Firstname? .FirstOrDefault() делает трюк? –

+0

'string data = db.Profiles.Where (x => x.Id == 1). Выберите (x => x.FirstName);' вернет только значение 'FirstName' –

+0

, спасибо большое. ты спасатель жизни :) –

Смежные вопросы