Expert wanna be
Expert wanna be

Reputation: 10624

How to get the mysql data in ASP.net MVC3?

I'm trying to get my mysql data in ASP.net MVC3.

The mysql Database Name is supply_db and table name is xcart_orders.

ASP.net code is like below,

(Im just following my book, and just switch to my DB info but it does not work :( )

(I will omit using and namespace)

Web.Config File,

<add name="EFMysqlContext" connectionString="server=XXX.XXX.XXX.XX;User Id=root;pwd=xxx;Persist Security Info=True;database=supply_db"
         providerName="Mysql.Data.MySqlClient" />

Abstract/IXcartOrdersRepository.cs

public interface IXcartOrdersRepository
{
    IQueryable<XcartOrder> xcart_orders { get; }
}

/Concrete/EFXcartOrderRepository.cs

public class EFXcartOrdersRepository : IXcartOrdersRepository
{
private EFMysqlContext context = new EFMysqlContext();

public IQueryable<XcartOrder> xcart_orders 
{
    get { return context.xcart_orders; }  // I thought the 'xcart_orders' should be match with db table name, isn't it?
}
}

/Entities/XcartOrder.cs

public class XcartOrder
{
    [Key]
    public int orderid { get; set; }
    public string login { get; set; }
    public string membership { get; set; }
    public decimal subtotal { get; set; }
}

and In my controller,

IXcartOrdersRepository XcartOrdersRepository = new EFXcartOrdersRepository();
int orderCnt = XcartOrdersRepository.xcart_orders.Count();

then error occur, the error message say "{"Table 'supply_db.XcartOrders' doesn't exist"}"

I think I could connect to db, but couldn't get the table.

anybody know which part do I need to change?

Thank you!

Upvotes: 0

Views: 297

Answers (1)

Rob Rodi
Rob Rodi

Reputation: 3494

can you decorate your Xcartorder class with the Table attribute to explicitly specify the desired name?

[Table("xcart_orders")]
public class XcartOrder
{
    ...

edit: attribute syntax

Upvotes: 1

Related Questions