1. BreezeJS Feature Suggestions

Help us make Breeze.js better by letting us know what you’d like to see next.

Suggest new features, vote on existing ones, or fork Breeze in GitHub and send us a pull request.

How can we improve Breeze.js?

You've used all your votes and won't be able to post a new idea, but you can still search and comment on existing ideas.

There are two ways to get more votes:

  • When an admin closes an idea you've voted on, you'll get your votes back from that idea.
  • You can remove your votes from an open idea you support.
  • To see ideas you have already voted on, select the "My feedback" filter and select "My open ideas".
(thinking…)

Enter your idea and we'll search to see if someone has already suggested it.

If a similar idea already exists, you can support and comment on it.

If it doesn't exist, you can post your idea so others can support it.

Enter your idea and we'll search to see if someone has already suggested it.

  1. Support Mindscape LightSpeed ORM

    LightSpeed is rather interesting and has more features than EF. So, it would be nice if Breeze would support it either out of the box, or at least had a sample showing how to use the combo.

    33 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  2. Vuejs support

    Vuejs is gaining popularity. A sample on this client technology would be awesome. Or even a Breeze Lab.

    32 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  3. BreezeJs and Entity Framework Core

    Entity Framework Core has updated functionality I would like to use but as far as I can tell there is no way to retrieve the metadata BreezeJs requires on the front end. EF6 has this ability but I can't find a way to do it with Core. Using an EFContextProvider with a Core DbContext throws a conversion error. Is this due to Core or functionality missing from BreezeJs?

    32 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  4. support caching partial entities

    Currently, if you use a projection query to get partial entities, the resulting objects that are returned are not added to the EntityManager cache.

    As a result you have to write a lot of plumbing code if you want partial entities to end up in the cache (John Papa has one such solution for this in his SPA Jumpstart PluralSight course where he maps DTOs to Entities so they will be cached).

    If all we really want is a subset of an existing entity, it would be great if we could have some kind of query syntax that let the…

    32 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  5. Support local databases

    I am writing an "offline" application that may occasionally connect to a server, but not with EF and one I do not control. Locally, I am using SQLite to store data. I would love to use breeze capabilities like the LINQ-style API with the locally stored SQLite data (this is a WinJS app).

    The tie to server-side calls and EF makes this a non-starter. Any chance you'll publish an interface that needs to be implemented in JS in order to provide this functionality for the rest of your code?

    31 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    under review  ·  0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  6. Add support for odata actions

    I’m struggling with calling odata actions from breeze. I have an app that uses breeze to store trades in a SQL database and after the trade is stored, another user can use the app to send the trade to a backend trading system. I created an OData action to do the import to the external trading system so I can do a post to /trades(123)/ImportTrade. When I get the metadata for the service using /$metadata it sees that the trades entity has this action (it's in the metadata).
    I was hoping that breeze would see this in the metadata and…

    31 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  7. LINQPad Driver to test queries

    Write a driver to be able to test Breeze queries in LINQPad.

    http://www.linqpad.net/richclient/datacontextdrivers.aspx

    31 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  8. Fix Navigation Property Update When Changing a Composite Foreign Key

    In an entity that has a navigation property based on a composite foreign key (i.e. based on more than one foreign key properties), when setting one of the FK properties, breezejs tries to update the navigation property, however it searches for the foreign entity using a single key instead of a composite key, so it never finds the property.

    To see what I mean and for a possible fix, please refer to breeze.debug.js (v.1.4.8) lines 4907 and 4908:
    key = new EntityKey(relatedNavProp.entityType, [newValue]);
    relatedEntity = entityManager.findEntityByKey(key);

    The related entity never gets found since the key consists only of a single…

    30 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    2 comments  ·  Flag idea as inappropriate…  ·  Admin →
  9. Automatically remove from cache items that were deleted by someone else if an Expand clause did not return it

    When multiple users play with similar data and one of the navigation property (to a list of children for example) has hard deletable items, it is possible for one user to load all the children in cache, then for another to delete those children. Then, for user 1, even if he refetches the parent objects with an expand clause to the children, Breeze will currently reattach even those children that were not returned from the server - the deleted ones. There is no easy way currently out of manually clearing the cache or querying directly for each child to check…

    30 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  10. rethinkdb and aurelia

    add support for rethinkdb and aurelia

    30 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  11. .Net Core 2.0 Support

    Are there any plans to support .Net Core 2.0?

    30 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  12. 29 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    under review  ·  0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  13. 29 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  14. Please provide more tutorials like knockout js such that the user can understand a bit more. Thanks

    Please provide more tutorials like knockout js such that the user can understand a bit more. Thanks

    26 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    2 comments  ·  Flag idea as inappropriate…  ·  Admin →
  15. Show us how to bind to a grid

    LOB apps have grids. Can you show us how to bind a list of Breeze entities to a grid and do filtering, sorting and paging.

    26 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    under review  ·  3 comments  ·  Flag idea as inappropriate…  ·  Admin →
  16. Change entityAspect name to $entityAspect to prevent angularJS.equal in circular reference

    Angular is comparing objects by the equal function.
    If you have a watch on a breeze entity the entityAspect object will cause the ng.equal function to produce a stack overflow.
    objects with the $ prefix are ignored by ng.equal function.

    In my case I had an issue with ng-formly and breeze because formly is watching the collection and so also the entityAspect.

    24 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    6 comments  ·  Flag idea as inappropriate…  ·  Admin →
  17. Support for Data Annotation Validators (DisplayName, ErrorMessageResourceName)

    Breeze has built-in message templates and we do seem to have the option to change them via breeze.Validator.messageTemplates but having to deal with at least 2 languages on my web project means that I'll have to write my messages twice (1 for .Net and 1 for Breeze). It would be seriously awesome if Breeze could get them directly from the Data Annotation definition as I'm already using the Breeze WebApi2 and ContextProviderEF6.

    For example a Model with this data annotation
    [Display(ResourceType = typeof(Resources.Validations), Name = "SiteName")]
    [Required(ErrorMessageResourceType = typeof(Resources.Validations), ErrorMessageResourceName = "Required")]
    public string siteName { get; set; }

    It…

    24 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  18. Support for collections of navigational properties

    When generating the bundle to be sent to the server on saving of entities I suggest we use this method, I've been using it in the past and haven't seen any issues (yet)

    function unwrapInstance(structObj, transformFn) {
    if (!structObj.unwrapped) {
    structObj.unwrapped = true;
    var rawObject = {};
    var stype = structObj.entityType || structObj.complexType;
    var serializerFn = getSerializerFn(stype);
    var unmapped = {};
    stype.dataProperties.forEach(function (dp) {
    if (dp.isComplexProperty) {
    rawObject[dp.nameOnServer] = __map(structObj.getProperty(dp.name), function (co) {
    if (!co.unwrapped) {
    return unwrapInstance(co, transformFn);
    }
    });
    } else {
    var val = structObj.getProperty(dp.name);
    val = transformFn ? transformFn(dp, val) : val;
    if (val === undefined)…

    23 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  19. 23 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  20. Can configure a parent entity type to enter the modified state when a child changes

    Often (but not always), the parent is the root entity of an aggregate. An Order is the root of an Order aggregate with child line items. When a line item is added/deleted/modified the semantics say that the Order has changed. The concurrency check on the Order governs the entire graph. So we want any line item change to force the Order to be changed. The developer should be able to specify in metadata that the Order changes when anything in its line items collection changes. The specification should be on a navigation path basis. Breeze should respond accordingly

    22 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    under review  ·  0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  • Don't see your idea?

1. BreezeJS Feature Suggestions

Feedback and Knowledge Base