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. Add the same tutorials for aurelia that you provide for angular and knockout

    Provide the same tutorials for aurelia that you provide for angular and knockout is on my wishlist.

    7 votes
    Vote
    Sign in
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      I agree to the terms of service
      Signed in as (Sign out)
      You have left! (?) (thinking…)
    • Support for Polymer/Web Components

      It would be nice to see a <breeze-js> component to use in Polymer.

      1 vote
      Vote
      Sign in
      Check!
      (thinking…)
      Reset
      or sign in with
      • facebook
      • google
        Password icon
        I agree to the terms of service
        Signed in as (Sign out)
        You have left! (?) (thinking…)
      • Restore foreign keys in dependent entities in rejectChanges()

        When an entity is marked as deleted, and it has dependent child entities, it is removed (set to null) from child entities (even if the foreign key is not nullable). If the delete is cancelled with rejectChanges, the entity is restored to 'unchanged' state, but child entities in cache are not restored. Even requerying the server doesn't fix this (I haven't yet tried specifying overwriteChanges in query options).

        4 votes
        Vote
        Sign in
        Check!
        (thinking…)
        Reset
        or sign in with
        • facebook
        • google
          Password icon
          I agree to the terms of service
          Signed in as (Sign out)
          You have left! (?) (thinking…)
        • 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)…

          11 votes
          Vote
          Sign in
          Check!
          (thinking…)
          Reset
          or sign in with
          • facebook
          • google
            Password icon
            I agree to the terms of service
            Signed in as (Sign out)
            You have left! (?) (thinking…)
          • NamingConvention for EntityType names

            The current `NamingConvention` can translate between client and server property names but there is no facility in Breeze to translate between client and server **EntityType** names.

            For example, if the class on the server is known as `PersonDto`, my client-side EntityType name must also be `PersonDto`. I probably want `Person` on the client.

            1 vote
            Vote
            Sign in
            Check!
            (thinking…)
            Reset
            or sign in with
            • facebook
            • google
              Password icon
              I agree to the terms of service
              Signed in as (Sign out)
              You have left! (?) (thinking…)
            • EntityQuery.withParameters to inject variables into resource name

              Much like it injects querystring parameters to the request using the object passed to it - it would be nice if it could first look for replacement tokens in the resourceName property of the query.

              for example:

              var qry = breeze.EntityQuery
              .from("Studies/{StudyID}/Sites/{SiteID}/People")
              .withParameters({StudyID: 123, SiteID: 555});

              instead, currently, I am doing this:

              var resourceName = String.format("Studies/{0}/Sites/{1}/{2}", pStudyID, pSiteID, referralName.APIName);
              var query = breeze.EntityQuery.from(resourceName);
              ....

              1 vote
              Vote
              Sign in
              Check!
              (thinking…)
              Reset
              or sign in with
              • facebook
              • google
                Password icon
                I agree to the terms of service
                Signed in as (Sign out)
                You have left! (?) (thinking…)
              • Typescript definition for breeze-mongodb

                Thank you very much for TypeScript support for Breeze.js, could I please suggest TypeScript definition for breeze-mongodb for developing with BreezeJS on the MEAN stack (specifically Node.JS)?

                Again, thanks for all the hard work, this feature will definitely help with adoption for Breeze in enterprises that are developing on the MEAN stack with large scale applications.

                3 votes
                Vote
                Sign in
                Check!
                (thinking…)
                Reset
                or sign in with
                • facebook
                • google
                  Password icon
                  I agree to the terms of service
                  Signed in as (Sign out)
                  You have left! (?) (thinking…)
                • Error in docs

                  the isAddedModifiedOrDeleted() says "Whether an entityState instance is EntityState.Unchanged or EntityState.Modified or EntityState.Deleted." it should say "Whether an entityState instance is EntityState.Added or EntityState.Modified or EntityState.Deleted"

                  1 vote
                  Vote
                  Sign in
                  Check!
                  (thinking…)
                  Reset
                  or sign in with
                  • facebook
                  • google
                    Password icon
                    I agree to the terms of service
                    Signed in as (Sign out)
                    You have left! (?) (thinking…)
                  • Support Paging natively

                    I'm using .take() and .skip() for paging with a table.

                    When I "insert" an entity into the database, I reload my table (new query). Now I would like to jump to this new object inside the table and highlight it.

                    I need an elegant solution to find on what page the new object is and then use skip/take to jump to the correct page.

                    My Suggestion:

                    Maybe Breeze could natively support paging by allowing to specify a page-size in the query and which page to deliver (instead of using take and skip and calculating it on the client).

                    If this…

                    7 votes
                    Vote
                    Sign in
                    Check!
                    (thinking…)
                    Reset
                    or sign in with
                    • facebook
                    • google
                      Password icon
                      I agree to the terms of service
                      Signed in as (Sign out)
                      You have left! (?) (thinking…)
                    • Data Visualualizer

                      There is no tool unlike SQL Server or EF to help you see what data you are getting back from Breeze. There is no entity inspector. So when you are in javascript and you write repositories it can be a bit of a black hold. Even if the BreezeController.cs has rich annotation and XML comments to show what request are being made.

                      3 votes
                      Vote
                      Sign in
                      Check!
                      (thinking…)
                      Reset
                      or sign in with
                      • facebook
                      • google
                        Password icon
                        I agree to the terms of service
                        Signed in as (Sign out)
                        You have left! (?) (thinking…)
                      • Support .withParameters for OData (datajs)

                        The current implementation of withParameters() only sends those parameters to the XHR implementation, but it does not pass them to the OData provider. The fix is simple, but it's not supported yet. Please implement!

                        14 votes
                        Vote
                        Sign in
                        Check!
                        (thinking…)
                        Reset
                        or sign in with
                        • facebook
                        • google
                          Password icon
                          I agree to the terms of service
                          Signed in as (Sign out)
                          You have left! (?) (thinking…)
                        • Breeze Web API components should support async

                          Both the Web API and EF 6 support async. All Breeze .NET server components should support async signatures and perhaps should deprecate the synchronous signatures.

                          193 votes
                          Vote
                          Sign in
                          Check!
                          (thinking…)
                          Reset
                          or sign in with
                          • facebook
                          • google
                            Password icon
                            I agree to the terms of service
                            Signed in as (Sign out)
                            You have left! (?) (thinking…)
                          • Remove ALL recursive object graphs

                            Recursive object graphs are extremely bad form, and create havoc for libraries that observe object changes, such as AngularJS. Just try to bind more than a trivial number of entity objects to a control like ng-grid, and you'll instantly hate the performance.

                            10 votes
                            Vote
                            Sign in
                            Check!
                            (thinking…)
                            Reset
                            or sign in with
                            • facebook
                            • google
                              Password icon
                              I agree to the terms of service
                              Signed in as (Sign out)
                              You have left! (?) (thinking…)
                            • Allow for recursive expand and select.

                              Allow to query recursively on an object type. See https://issues.oasis-open.org/browse/ODATA-38. To take the example from the OData implementation you could query a manager and return the recursive tree of all employees under that manager to a specified number of levels.

                              13 votes
                              Vote
                              Sign in
                              Check!
                              (thinking…)
                              Reset
                              or sign in with
                              • facebook
                              • google
                                Password icon
                                I agree to the terms of service
                                Signed in as (Sign out)
                                You have left! (?) (thinking…)
                              • Create linq like syntax for use with typescript

                                In jaydata it is possible to generate d.ts files for the entities. It is then possible to write queries like :

                                northwind
                                .Products
                                .filter( product => product.Unit_Price < 50 )
                                .orderBy ( product => product.Category.Category_Name )

                                Note that full autocompletion is available for properties.

                                It would be great to have such a feature in breeze as well.

                                63 votes
                                Vote
                                Sign in
                                Check!
                                (thinking…)
                                Reset
                                or sign in with
                                • facebook
                                • google
                                  Password icon
                                  I agree to the terms of service
                                  Signed in as (Sign out)
                                  You have left! (?) (thinking…)
                                • ASP.Net Web API OData information outdated?

                                  I'm looking at this page and it says that the OData EDM builder doesn't support navigation properties, but I believe it does now. Also, the samples for Web API provide an OData batch controller that save changesets in the order that they coming in the request. Doesn't this make Web API fully compatible with Breeze? Do we still need to use the Breeze custom model builder?

                                  6 votes
                                  Vote
                                  Sign in
                                  Check!
                                  (thinking…)
                                  Reset
                                  or sign in with
                                  • facebook
                                  • google
                                    Password icon
                                    I agree to the terms of service
                                    Signed in as (Sign out)
                                    You have left! (?) (thinking…)
                                  • Provide an Angular SPA template with full security

                                    VS2013 ships with a classic ASP.NET MVC template with full-feature identity management: login, password change, email validation, OAuth, etc, including both front-end and back-end code. However, there's nothing like this for a SPA using Web API 2.

                                    The suggestion is to provide a template/sample/demo based on Breeze and Angular for a Single Page App that implements all the identity functionality, plus provides some simple, replaceable demo of the business code that we developers want to focus on.

                                    95 votes
                                    Vote
                                    Sign in
                                    Check!
                                    (thinking…)
                                    Reset
                                    or sign in with
                                    • facebook
                                    • google
                                      Password icon
                                      I agree to the terms of service
                                      Signed in as (Sign out)
                                      You have left! (?) (thinking…)
                                      1 comment  ·  Admin →
                                    • mongoose models to breeze.js metadata converter

                                      It would be nice to have a facility to create breeze.js metadata from existing mongoose models.

                                      31 votes
                                      Vote
                                      Sign in
                                      Check!
                                      (thinking…)
                                      Reset
                                      or sign in with
                                      • facebook
                                      • google
                                        Password icon
                                        I agree to the terms of service
                                        Signed in as (Sign out)
                                        You have left! (?) (thinking…)
                                        1 comment  ·  Admin →
                                      • Enable type coercion of EDM default values on key fields (not just non key fields)

                                        Breeze will coerce int32 default values to be js integers if they are not navigation id fields. But if they are a key field breeze does not coerce them, and they enter the model as strings.
                                        Can key (navigation) fields get the coercion same as regular non key fields?

                                        3 votes
                                        Vote
                                        Sign in
                                        Check!
                                        (thinking…)
                                        Reset
                                        or sign in with
                                        • facebook
                                        • google
                                          Password icon
                                          I agree to the terms of service
                                          Signed in as (Sign out)
                                          You have left! (?) (thinking…)
                                          1 comment  ·  Admin →
                                        • Add missing TypeScript .d.ts files for Breeze Labs

                                          It would be fantastic to also publish separate TypeScript Declaration (.d.ts) files that aligned with the functionality offered by the Breeze Labs extensions. At the moment, there is only one breeze.d.ts file which doesn't include declarations for Breeze Labs extensions. This is a bit of a gap for us TypeScript users. Thanks!

                                          8 votes
                                          Vote
                                          Sign in
                                          Check!
                                          (thinking…)
                                          Reset
                                          or sign in with
                                          • facebook
                                          • google
                                            Password icon
                                            I agree to the terms of service
                                            Signed in as (Sign out)
                                            You have left! (?) (thinking…)
                                          ← Previous 1 3 4 5 12 13
                                          • Don't see your idea?

                                          1. BreezeJS Feature Suggestions

                                          Feedback and Knowledge Base