我可以使用一些關於如何手動更新Breeze版本及其依賴關係的指導。我不相信我只能使用NuGet Package Manager進行更新。如何更新breeze.js庫
我一直在用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);
}
必須有用於微風處理規定,對我來說,這樣我就可以做這樣的事情:
[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;
}
我注意到控制器中的屬性修飾在樣本中發生了變化。我是否也需要更換我的?
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中。如何將文件移動到lib文件夾中而不會搞亂我的Team Foundation Server(Azure)源代碼管理?
Antlr3.Runtime.dll,Breeze.WebApi.dll,Irony.dll,Newtonsoft.Json.dll,WebActivator.dll和版本之間的WebGrease.dll兼容的運行版本。我打賭不是。在Visual Studio中有什麼需要改變的地方嗎?
我可以只更改packages.config中的包文件夾中的版本條目嗎?
謝謝。