Comment faire pour remplir un modèle sans cadre de l'entité en Asp.net MVC 5

Remarque:- Cette question va se poser dans l'esprit des développeurs qui n'ont pas une idée sur entity framework et ont directement commencé à apprendre asp.net MVC 5. Une fois que vous êtes sur la route pour apprendre une nouvelle chose, il est difficile de saisir plusieurs nouveau concept. Cette question sera d'aider les nouveaux développeurs de commencer avec MVC tout de suite à l'aide de leurs connaissances de Ado.net.

J'ai essayé de l'utiliser asp.net MVC 5 avec ma base de données existante. Je ne vais pas l'utiliser Entity framework pour alimenter le modèle. Comment puis-je remplir mon modèle sans l'aide de toute dbcontext. Comment puis-je extraire des données à partir de la base de données et mis à l'intérieur de modèle?
Voici mon Contrôleur de l'Action:-

    public ActionResult Index()
            {
                /* WHAT TO DO HERE TO LOAD THE TRANSACTIONS? This part is resolved in following lines*/
/* I have used following code to get it using the direct db connection */
var transactions = new List<Portal.Models.TransactionModels>();
            var connectionString = "server=yourserver;database=yourdatabase;uid=youruid;pwd=yourpwd";
            MySqlConnection oMySqlConnection = new MySqlConnection(connectionString);
            oMySqlConnection.Open();
            MySqlCommand oMySqlCommand = new MySqlCommand("Select * from yourtable;", oMySqlConnection);
            MySqlDataReader oMySqlDataReader = oMySqlCommand.ExecuteReader();
            while (oMySqlDataReader.Read())
            {
                transactions.Add(new Portal.Models.TransactionModels
                {
                    transaction_id = oMySqlDataReader["transaction_id"].ToString()
                });
            }
            oMySqlConnection.Close();
            return View(transactions);

                return View();
            }

Voici mon Modèle:-

  public class TransactionModels
    {
        public virtual string id{ get; set;}
        public virtual int statusid { get; set; }
    }

Voici mon avis:-

@model IEnumerable<Portal.Models.TransactionModels>

@{
    ViewBag.Title = "Index";
}

<h2>Index</h2>

<p>
    @Html.ActionLink("Create New", "Create")
</p>
<table class="table">
    <tr>
        <th>
            @Html.DisplayNameFor(model => model.id)
        </th>
        <th>
            @Html.DisplayNameFor(model => model.statusid)
        </th>       
        <th></th>
    </tr>

@foreach (var item in Model) {
    <tr>
        <td>
            @Html.DisplayFor(modelItem => item.id)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.statusid)
        </td>

        <td>
            @Html.ActionLink("Edit", "Edit", new { /* id=item.PrimaryKey */ }) |
            @Html.ActionLink("Details", "Details", new { /* id=item.PrimaryKey */ }) |
            @Html.ActionLink("Delete", "Delete", new { /* id=item.PrimaryKey */ })
        </td>
    </tr>
}

</table>
  • est-il d'autres endroits où la question peut se présenter ? juste curieux de savoir
  • Je ne suis pas vraiment sûr que je sais ce que vous demandez plus. Il semblait, comme vous, à l'origine, étaient à la recherche pour savoir comment écrire une action, mais maintenant vous avez l'air de plus ou moins terminé. Quelle est votre question après la dernière édition?
  • Vous êtes en droit de matthieu, effectivement, la question a été suspendue alors pourquoi j'ai ajouté ma réponse à la question ainsi
InformationsquelleAutor hellowahab | 2015-04-11