1

我在 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);    
        }     

    }
}
4

2 回答 2

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 候选版本之前不太可能这样做。

But that said, this doesn't look like an EF issue. Does this same code work with the current EF bits?

于 2013-03-30T02:15:23.770 回答
1

Looks like the issue was due to EF6. I got the source for Breeze.WebApi, updated the code to use new EF6 namespaces, and rebuilt.

All is working fine now.

Regards, Travis

于 2013-04-01T23:30:49.997 回答