Breeze とその依存関係のバージョン間で手動で更新する方法について、いくつかのガイダンスを使用できます。NuGet Package Manager だけで更新できるとは思えません。
Breeze、Knockout、WebAPI などを使用してシングル ページ アプリを開発しています。私は Breeze バージョン 0.61 を使用しており、最新バージョンにアップグレードして、ODataActionFilters を活用し、Request.QueryString を解析してパラメーターとフィルターを引き出す必要がないようにしたいと考えています。たとえば、私が電話するとき
var getMachineById(machineId) {
var query = EntityQuery
.from("Machines")
.where("machineId", "eq", machineId);
return manager.executeQuery(query)
.then(function (data) {
do_something_with(data.results);
})
.fail(queryFailed);
}
Breeze がそれを処理する方法が必要なので、次のようにするだけです。
[AcceptVerbs("GET")]
public IQueryable<Machine> Machines()
{
return _contextProvider.Context.Machines;
}
それ以外の
// eg "?$filter=machineId%20eq%205"
[AcceptVerbs("GET")]
public IQueryable<Machine> Machines()
{
IQueryable<Machine> x = _contextProvider.Context.Machines;
List<ODataQueryString> list = null;
string qs = Request.RequestUri.Query.ToString(CultureInfo.CurrentCulture);
list = new ODataQueryStringParser(qs).Parse();
if (list != null)
{
int machineId = int.Parse(list[0].Value); // covert string to an int
x = x.Where(o => o.MachineId == machineId);
}
return x;
}
Controller の Attribute 装飾が Samples で変更されていることに気付きました。私も変更する必要がありますか?
namespace PilotPlantBreeze.Controllers { [JsonFormatter, ODataActionFilter] public class BreezeController : ApiController { readonly EFContextProvider<PilotPlantDbContext> _contextProvider = new EFContextProvider<PilotPlantDbContext>(); [AcceptVerbs("GET")] public string Metadata() { return _contextProvider.Metadata(); } [AcceptVerbs("POST")] public SaveResult SaveChanges(JObject saveBundle) { return _contextProvider.SaveChanges(saveBundle); } ... etc. } }
~\Scripts\lib フォルダーにサード パーティのライブラリがあります。NuGet パッケージ マネージャーを使用して更新すると、すべての置換が ~\Scripts に配置されます。Team Foundation Server (Azure) ソース管理を台無しにせずにファイルを lib フォルダーに移動するにはどうすればよいですか?
Antlr3.Runtime.dll、Breeze.WebApi.dll、Irony.dll、Newtonsoft.Json.dll、WebActivator.dll、およびおそらく WebGrease.dll のランタイム バージョンは、バージョン間で互換性があります。私は賭けない。Visual Studio で変更する必要があるものはありますか?
packages.config のパッケージ フォルダーからバージョン エントリを変更することはできますか?
ありがとう。