EFv1 mapping 1 to many Relationship to POCOs

Posted by Scott on Stack Overflow See other posts from Stack Overflow or by Scott
Published on 2010-06-09T20:27:49Z Indexed on 2010/06/09 20:32 UTC
Read the original article Hit count: 227

Filed under:
|
|
|
|

I'm trying to work through a problem where I'm mapping EF Entities to POCO which serve as DTO.

I have two tables within my database, say Products and Categories. A Product belongs to one category and one category may contain many Products. My EF entities are named efProduct and efCategory. Within each entity there is the proper Navigation Property between efProduct and efCategory.

My Poco objects are simple

public class Product
{
    public string Name { get; set; }
    public int ID { get; set; }
    public double Price { get; set; }
    public Category ProductType { get; set; }
}

public class Category
{
    public int ID { get; set; }
    public string Name { get; set; }
    public List<Product> products { get; set; }
}

To get a list of products I am able to do something like

    public IQueryable<Product> GetProducts()
    {
        return from p in ctx.Products
               select new Product
               {
                   ID = p.ID,
                   Name = p.Name,
                   Price = p.Price
                   ProductType = p.Category
               };
    }

However there is a type mismatch error because p.Category is of type efCategory. How can I resolve this? That is, how can I convert p.Category to type Category?

I know in .NET EF has added support for POCO, but I'm forced to use .NET 3.5 SP1.

© Stack Overflow or respective owner

Related posts about c#

Related posts about entity-framework