Asp.net mvc 从实体框架中的关系对象获取数据?

Asp.net mvc 从实体框架中的关系对象获取数据?,asp.net-mvc,linq,entity-framework,linq-to-entities,Asp.net Mvc,Linq,Entity Framework,Linq To Entities,我是EF和Linq的初学者,因此我想知道使用一种或另一种方法的区别和优势,例如,我可以看到在两个表之间获取数据,可以使用类似的方法: var usr = from cm in ctx.ConsumerName join c in ctx.Consumer on cm.ConsumerId equals c.Id where cm.ConsumerId == consumerId select new { Nombre = cm.Firs

我是EF和Linq的初学者,因此我想知道使用一种或另一种方法的区别和优势,例如,我可以看到在两个表之间获取数据,可以使用类似的方法:

var usr = from cm in ctx.ConsumerName
          join c in ctx.Consumer on cm.ConsumerId equals c.Id
          where cm.ConsumerId == consumerId
          select new { Nombre = cm.FirstName + cm.LastName, Email = c.Email };
类似地,类似的情况也是可能的:

var usr = ctx.ConsumerName.Include(x=>x.Consumer);
或者类似的事情:

var consumer = ctx.Consumer.Find(id);
var vm = new ConsumerViewModel();
Mapper.CreateMap<Consumer, ConsumerViewModel>()
      .ForMember(dest => dest.Consumer, opt => opt.MapFrom(src => src));
vm = Mapper.Map<Consumer, ConsumerViewModel>(consumer);
var consumer=ctx.consumer.Find(id);
var vm=new ConsumerViewModel();
Mapper.CreateMap()
.ForMember(dest=>dest.Consumer,opt=>opt.MapFrom(src=>src));
vm=Mapper.Map(消费者);

有人能告诉我用MVC和EF从数据库中获取数据的最佳方法是什么吗???Thanx

使用实体框架创建和执行查询有许多不同的方法,如LINQ、实体SQL等。 LINQtoEntities是最常用的,我认为这是使用EF从数据库获取数据的好方法。 您可以在此处了解有关LINQ的更多信息:

从您提供的代码示例中,我认为您不太清楚LINQ和实体框架是什么

var usr = from cm in ctx.ConsumerName
          join c in ctx.Consumer on cm.ConsumerId equals c.Id
          where cm.ConsumerId == consumerId
          select new { Nombre = cm.FirstName + cm.LastName, Email = c.Email };
以上是一个带有连接运算符的LINQ查询。

var usr = ctx.ConsumerName.Include(x=>x.Consumer);
上面的正在急切地加载。实体框架支持三种加载相关数据的方式:即时加载、延迟加载和显式加载。

var consumer = ctx.Consumer.Find(id);
var vm = new ConsumerViewModel();
Mapper.CreateMap<Consumer, ConsumerViewModel>().ForMember(dest => dest.Consumer, opt => opt.MapFrom(src => src));
vm = Mapper.Map<Consumer, ConsumerViewModel>(consumer);
var consumer=ctx.consumer.Find(id);
var vm=new ConsumerViewModel();
Mapper.CreateMap().formMember(dest=>dest.Consumer,opt=>opt.MapFrom(src=>src));
vm=Mapper.Map(消费者);
以上是EF中实体与AutoMapper的映射集合。

var usr = ctx.ConsumerName.Include(x=>x.Consumer);
如果您想了解有关实体框架的更多信息,请查看下面的链接,这里有许多很棒的文章 由专家撰写