Solved

Unable to retrieve metadata for 'Nop.Web.QuickQuote.QuickQuote'

Posted on 2014-09-23
7
177 Views
Last Modified: 2014-09-27
I am trying to make quickquoteController.cs and get the following error:
Unable to retrieve metadata for 'Nop.Web.QuickQuote.QuickQuote'
I am not sure what I am doing wrong.
Thanks in advance for any help given.
The complete error message is as per embeded image:
Complete Error MessageI built  the QuickQuote.cs Model first & compiled the project.
The controller information is as follows:
Controllers=>quickquoteController.cs

Controller with read/write actions and views, using Entity Framework
Variant(Nop.Web.Models.QuickQuote)
quickquoteDBContext (Nop.Web.Models.QickQuote)
Razor (cshtml)
Reference script libraries
use layout Views=>Shared=>_ColumnsThree.cshtml

Open in new window

The Model code is as follows:
Models=>QuickQuote=>QickQuote.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.Entity;

namespace Nop.Web.Models.QuickQuote
{
    public class QuickQuote
    {
        public int ProductId { get; set; }
        public String Name { get; set; }
        public String OldPriceMP { get; set; }
        public String OldPrice { get; set; }
    }
    public class quickquoteDBContext : DbContext
    {
        public DbSet<QuickQuote> ProductVariant { get; set; }
    }
}

Open in new window

The Web.Config and RouteProvider code is as follows:
web.config

<connectionStrings>
<add name="quickquoteDBContext" connectionString="Data Source=(local);Initial Catalog=CorpWear265_Restore_TestAlt;User ID=sa;Password=H6web97!;" providerName="System.Data.SqlClient"/>
</connectionStrings>

Infrastructure=>RouteProvider.cs

			//quickquotePage
            routes.MapLocalizedRoute("quickquotePage",
                            "QickQuote/",
                            new { controller = "quickquote", action = "Index" },
                            new[] { "Nop.Web.Controllers" });

Open in new window

The Menu code is as follows:
<li>
       <a href="@Url.RouteUrl("ProductSearch")">Advanced<br />Search</a>
        <ul>
            <li><a href="@Url.RouteUrl("quickquotePage")"></a></li>
            <li><a href="@Url.RouteUrl("moviePage")"></a></li>
        </ul>
    </li>

Open in new window

0
Comment
Question by:homeshopper
  • 4
  • 3
7 Comments
 
LVL 62

Accepted Solution

by:
Fernando Soto earned 500 total points
ID: 40339096
Hi homeshopper;

I am going to assume that you are using Database First in building your model because with Code First the table QuickQuote has defined a primary key because it uses convention over configuration which means that an entity which has Id anywhere in its name will be considered the primary key. Seeming that the exception states that "EntityType QuickQuote has no key defined". In order for Entity Framework to be able to do CRUD operations on an entity it must define a primary key. Therefore you will need to update the database and add a primary key to the QuickQuote table.
0
 

Author Comment

by:homeshopper
ID: 40339221
Thank you for your response.
The database CorpWear265_Restore_TestAlt.mdf is already constructed with
Table ProductVariant not QuickQuote.
The table structure is as below:
Thanks in advance.
id Int Primary Key
ProductId int
Name nvarchar(400) allow nulls
OldPrice decimal(18,4)
OldPriceMP navarchar(50)
The model code is below:
namespace Nop.Web.Models.QuickQuote
{
    public class QuickQuote
    {
        public int ProductId { get; set; }
        public String Name { get; set; }
        public String OldPriceMP { get; set; }
        public String OldPrice { get; set; }
    }
    public class quickquoteDBContext : DbContext
    {
        public DbSet<QuickQuote> ProductVariant { get; set; }
    }
}

Open in new window

0
 
LVL 62

Expert Comment

by:Fernando Soto
ID: 40339261
Can you post a screen shot of the EDMX designer.
0
How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

 

Author Comment

by:homeshopper
ID: 40339343
Thank you for the response.
I am using NopCommerce and do not think it has an EDMX file.
However, I placed public int Id { get; set; } in the model QuickQuote
public class QuickQuote
    {
      public int Id { get; set; }
      public int ProductId { get; set; }
and now was able to build quickquoteController.cs
I get a new error in quickquoteController.cs as below:
Exception Details: System.Data.SqlClient.SqlException: Invalid object name 'dbo.QuickQuotes'.
Source Error: 
Line 16:         public ViewResult Index()
Line 17:         {
Line 18:             return View(db.ProductVariant.ToList());
Line 19:         }
Line 20:         // GET: /quickquote/Details/5
Source File: C:\Users\Ian\aaaNopComProjects\webApp-AltSourceFinal\Presentation\Nop.Web\Controllers\quickquoteController.cs    Line: 18

Open in new window

0
 
LVL 62

Expert Comment

by:Fernando Soto
ID: 40339380
Sorry I did not know that NopCommerce is a product like Entity Framework. I do not have any knowledge of the product and how it works and would not be able to help, sorry.
0
 

Author Comment

by:homeshopper
ID: 40339392
Thank you for the help so far.
0
 

Author Closing Comment

by:homeshopper
ID: 40347318
Very helpful suggestions given, but final solution found elsewhere.
0

Featured Post

Better Security Awareness With Threat Intelligence

See how one of the leading financial services organizations uses Recorded Future as part of a holistic threat intelligence program to promote security awareness and proactively and efficiently identify threats.

Join & Write a Comment

Problem Hi all,    While many today have fast Internet connection, there are many still who do not, or are connecting through devices with a slower connect, so light web pages and fast load times are still popular.    If your ASP.NET page …
International Data Corporation (IDC) prognosticates that before the current the year gets over disbursing on IT framework products to be sent in cloud environs will be $37.1B.
Access reports are powerful and flexible. Learn how to create a query and then a grouped report using the wizard. Modify the report design after the wizard is done to make it look better. There will be another video to explain how to put the final p…
This video explains how to create simple products associated to Magento configurable product and offers fast way of their generation with Store Manager for Magento tool.

747 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

9 Experts available now in Live!

Get 1:1 Help Now