digitalohm
digitalohm

Reputation: 43

Displaying SQL Query Results in View

I'm new to MVC 5 with .net

Basically I'm just trying to get my bearings and I want to display some generic queries (disregard the fact that im using the master db, I just want to get the functions working right now). I'm using the authentication 2.0 which has an applicatindbcontext, but I created my own context but since I'm not really wanting to create a model (which could be the problem) I didn't know what to create for properties:

public class MasterModel : DbContext
{
    public MasterModel() : base("MasterDatabaseConnection")
    { }
}

I created the controller like:

public class MasterController : Controller
{
    private MasterModel db = new MasterModel();
    // GET: Statistics
    public ActionResult Index()
    {
        return View();
    }

    public ActionResult GetVersion()
    {
        string query = "SELECT @@VERSION AS Version";
        IEnumerable<MasterModel> data = db.Database.SqlQuery<MasterModel>(query);

        return View(data.ToList());
    }
}

And finally I'm trying to figure out how to display the results in the view...and I'm completely lost (although it's possible I was lost in one of the previous steps).

@model IEnumerable<IdentitySample.Models.MasterModel>

@{
    ViewBag.Title = "Index";
}

@WTF.Am.I.SupposedToPutHere

I've followed some tutorials where I've created CRUD style model view controllers, but I guess I'm not drawing the connection on how to just submit informational queries and display the results.

Upvotes: 2

Views: 2708

Answers (1)

Zohaib Waqar
Zohaib Waqar

Reputation: 1239

Create a Context:

public class MasterModel : DbContext
{
    public MasterModel() : base("MasterDatabaseConnection")
    { }
    public DbSet<MyModel> ModelOBJ { get; set; }

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
      modelBuilder.Entity<ModelOBJ>().ToTable("tblModelOBJ");
    }
}

Create a Model:

Public cLass MyModel
{ 
    public int ID {get;set;}
    public string Name {get;set;}
}

Public cLass MyModelRepository
{ 

   public List<MyModel> GetALlModelFromDB()
   {
     MasterModel md = new MasterModel();
     return md.ModelTosend.toList(); 
   }
}

In your Controller:

 public ActionResult Index()
    {
        return View(new MyModelRepository().GetALlModelFromDB());
    }

In your View:

@model IEnumerable<IdentitySample.Models.MyModel>

@{
    ViewBag.Title = "Index";
}

@foreach(var item in Model)
{
   @:<div>@item.ID   @item.Name </div>
}

Upvotes: 1

Related Questions