Я пытаюсь разработать приложение со следующими слоями:
- Модель Entity Framework
- Служба данных (либо WCF, либо веб-API, но я предпочитаю веб-API)
- Java-скрипт + HTML + CSS-клиент
Модель содержит наследование и полиморфные коллекции:
public class Master
{
public virtual ICollection<BaseDetail> Details { get; set; }
}
public abstract class BaseDetail
{
public virtual Master Master { get; set; }
}
public class Detail1 : BaseDetail { }
public class Detail2 : BaseDetail { }
public class Detail3 : BaseDetail { }
Проблема в том, что я не смог найти фреймворк Java Script, подходящий для моих нужд:
- Knockback
- pros:
- supports inheritance and polymorphic collections very well
- поддерживает Web API и JSON (думаю, это проще, чем WCF и oData)
- cons:
- doesn't support EF metadata. You have to duplicate a model in java script by hands
- недостаточно хорошо понимает JSON-сериализованную EF-модель. Вы должны предварительно и после обработки JSON
- pros:
- Breeze.js
- pros:
- supports EF metadata very well. JS model is generated on the fly
- cons:
- doesn't support inheritance
- не поддерживает WebAPI + JSON
- pros:
- JayData
- pros:
- supports EF metadata well enough
- cons:
- it seems that it supports inheritance, but doesn't support polymorphic collections
- не поддерживает WebAPI + JSON
- pros:
Есть ли другие альтернативные JS-фреймворки? Или, может быть, я ошибаюсь насчет именованных фреймворков? Можете ли вы привести пример? Спасибо!