首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

施用VS2012创建了一个控制台程序,添加ADO.NET Entity Data Model,但是提示CreateQuery<Contact>方法不

2013-08-11 
使用VS2012创建了一个控制台程序,添加ADO.NET Entity Data Model,但是提示CreateQueryContact方法不存在

使用VS2012创建了一个控制台程序,添加ADO.NET Entity Data Model,但是提示CreateQuery<Contact>方法不存在!
代码如下:

private static void QueryContactsUseEntitySQL()
        {
            using (var context = new SampleEntities())
            {
                var queryString =   "SELECT VALUE c " +
                                    "FROM SampleEntities.Contacts AS c " +
                                    "WHERE c.FirstName='Robert'";
                ObjectQuery<Contact> contacts = context.CreateQuery<Contact>(queryString);
                foreach (var contact in contacts)
                {
                    Console.WriteLine("{0} {1}", contact.FirstName.Trim(), contact.LastName);
                }
            }
            Console.Write("Press Enter...");
            Console.ReadLine();
        }

创建的类如下:
namespace Chapter2ConsoleApp
{
    using System;
    using System.Data.Entity;
    using System.Data.Entity.Infrastructure;
    
    public partial class SampleEntities : DbContext
    {
        public SampleEntities()
            : base("name=SampleEntities")
        {
        }


    
        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            throw new UnintentionalCodeFirstException();
        }
    
        public DbSet<Address> Addresses { get; set; }
        public DbSet<Contact> Contacts { get; set; }
        public DbSet<vOfficeAddresses> vOfficeAddresses { get; set; }
    }
}



已经引用了using System.Data.Objects;命名空间,请问如何解决,谢谢!
[解决办法]
ObjectQuery本来就没有这个方法,只有CreateContext才有CreateQuery。

热点排行