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

問題はEF6が原因だったようです。Breeze.WebApi のソースを入手し、新しい EF6 名前空間を使用するようにコードを更新して、再構築しました。

現在、すべて正常に動作しています。

よろしく、 トラヴィス

于 2013-04-01T23:30:49.997 に答える
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 Release Candidate をリリースするまで、そうする可能性は低いです。

しかし、これは EF の問題のようには見えません。これと同じコードは現在の EF ビットで機能しますか?

于 2013-03-30T02:15:23.770 に答える