Breeze是否支持Entity Framework 6

时间:2013-03-29 22:03:47

标签: breeze entity-framework-6

我在Web API中遇到了奇怪的行为。如果我使用[BreezeController]进行装饰,那么Metadata()中的断点就不会被击中。如果我删除[BreezeController]它会遇到断点但显然会失败,因为该方法不存在。我正在使用EF6 alpha 2 ......一个问题?

有什么想法吗? API控制器的代码示例如下。

谢谢, 特拉维斯

namespace Mosaic.Bio.WebApi.Controllers
{
    public class MosaicBreezeContextProvider : EFContextProvider<Entities>
    {
        public MosaicBreezeContextProvider() : base() { }

        protected override Entities CreateContext()
        {
            return new Entities(Entities.GetOracleEntityConnection(),true);
        }
    }

    [BreezeController]
    public class BreezeController : ApiController
    {
        readonly MosaicBreezeContextProvider _contextProvider = new MosaicBreezeContextProvider();     

        [HttpGet]    
        public string Metadata() 
        {        
            return _contextProvider.Metadata();   
        }     

        [HttpGet]    
        public IQueryable<COR_PERSON> CorPersons() 
        {        
            return _contextProvider.Context.COR_PERSON;    
        }     

        [HttpPost]    
        public SaveResult SaveChanges(JObject saveBundle) 
        {        
            return _contextProvider.SaveChanges(saveBundle);    
        }     

    }
}

2 个答案:

答案 0 :(得分:1)

2013年10月28日更新:

截至目前,Breeze 1.4.5支持Microsoft的ASP.NET WebApi 2和Entity Framework 6.请参阅http://www.breezejs.com/documentation/download

老帖......

我们还没有对EF 6 Alpha进行过测试......老实说,至少在他们发布EF 6候选版本之前不太可能这样做。

但是说,这看起来不像EF问题。这个相同的代码是否适用于当前的EF位?

答案 1 :(得分:1)

看起来这个问题是由EF6引起的。我获得了Breeze.WebApi的源代码,更新了代码以使用新的EF6命名空间,并重建。

现在一切正常。

此致 特拉维斯