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 for MongoDb out of the box like EF

    I would like support for other popular noSql databases like MongoDB and RavenDB. If this can already be supported then just some proper documentation on how it can be achieved and some supporting example projects would be very helpful. Thanks.

    84 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 PHP and MySQL

      Support a PHP connector for MySQL. This is one of the most often used data connections.

      404 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 NHibernate

        Support NHibernate out of the box like EF

        174 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 the .NET DateTimeOffset type

          The DateTimeOffset CLR type is a struct, mainly composed by a DateTime struct and a TimeSpan struct (the latter expressing time zone offset).
          In SQL Server 2008 and above, there is also a corresponding "datetimeoffset" native SQL server type that maps nicely with EF.

          The idea of this data type is to be able to represent a date/time, but also a specific time zone.

          Note! The DateTime type is sufficient to calculate exact universal times (by always practicing dates stored as UTC etc.), but it has no information about the time zone e.g. of the user that modified some object.

          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…)
          • Full oData CRUD support

            per this forum reply, full crud support for odata services is not currently supported in breeze.

            http://www.ideablade.com/forum/forum_posts.asp?TID=3793&PID=15186#15186

            104 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…)
            • Try to coerce string bindings to a data property's data type

              Knockout binding of textbox to an integer data property can be fail validation because it sets the property with a string. Breeze, which knows the property's datatype, should attempt to parse the string to that datatype. Extend this idea to all datatypes (including date) and for all model libraries.

              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…)

                As of Breeze 0.80.2, automatic datatype coercion is now applied when setting any Breeze ‘entity’ properties.

                This means, for example, that when setting a string to a numeric or date field that Breeze will attempt to coerce the value to the correct datatype before assignment.

              • We should now only see customers with company names that start with "C" that are also in cities whose names contain "er".

                Step 5 of 6 in tutorial:
                We should now only see customers with company names that start with "C" that are also in cities whose names contain "er".

                Change C to S.

                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…)

                  Great catch. Thank you!

                  I’ve updated it in the source on GitHub and we’ll be pushing the change live with the next push of the Tutorial.

                  Thanks again,

                  John

                • Strong Name the Breeze.WebApi.dll

                  Can you please apply a strong name to the DLL within the NuGet package. This woudl save having to manually apply it for every update.

                  2 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…)
                    completed  ·  0 comments  ·  Admin →
                  • 48 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…)
                      completed  ·  2 comments  ·  Admin →
                    • 53 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 →

                        Breeze o.84.4 adds TypeScript support.

                        The zip packages now include a TypeScript directory with a “breeze.d.ts” file that supports the complete breeze api.

                      • 2 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…)
                        • Add client NuGet packages

                          Add a NuGet package which installs the scripts necessary for a breeze client app.

                          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…)
                            completed  ·  2 comments  ·  Admin →
                          • Angularjs support

                            I'm curious as to what you guys are cooking up for Angular...It seems like it could in theory be pretty easy as angular binds to plain objects, but I'm sure there are plenty of wrinkles. Glad we have brilliant minds such as yourselves to figure this stuff out!
                            Just off the top of my head I'm thinking in the query promise callback you could set the array to what forEach is observing via an angular.apply() call, since we're outside of angular. Or better yet somehow integrate the promise with forEach since this is what angular uses if I remember correctly.…

                            34 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…)
                            • I can use asp.net web api with other object then EF.

                              In web api how i can use other objects not only EF.

                              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…)

                                Short answer: You can do it today. The associated docs are on our priority backlog.

                                Long answer: Today, out of the box, the Breeze product ships with adapters for the ASP.NET Web API and for OData. It also ships with .NET components that interface with the Entity Framework and that generate Breeze metadata from an Entity Framework model; that EF model could be developed code first or database first.

                                The Breeze client is in no way limited to these technologies; they are merely the first backend components available; we’d be thrilled to help you adapt Breeze to your preferred server stack.

                              • Support $inlinecount in queries

                                The OData 2.0 spec describes the $inlinecount parameter (http://www.odata.org/documentation/uri-conventions#InlinecountSystemQueryOption) as a way to include with query results the count of all records that satisfy the filter clause without respect to the paging parameters (top and skip) that may be in the query request.

                                36 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…)

                                  0.75.1 is now live, and adds an ’inlineCount" method to the EntityQuery.

                                  This provides support for providing, in addition to standard query results, the count of records that would be returned by this query if no ‘skip’ or ‘take’ option were included on the query.

                                  In other words, the count is calculated after applying any filters/where clauses but before any skip/take operations.

                                  See the API Docs for more details. Both OData and WebApi endpoints are supported with this feature.

                                • 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 →
                                  • Correct the instructions on this page

                                    EFContextProvider constructor has been updated to not need the "dbconnectionname" - the instructions still have that.

                                    SaveChanges() has changed to use JObject, so change it from JArray

                                    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…)
                                    • Mocking Data Calls

                                      Allow for Breeze's data service calls to be able to be overridden with mock data calls, so data can be seen without needs to make actual ajax calls for designing and testing. Similar to amplify's model and using mockJSON with it.

                                      35 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 →
                                      • Named save

                                        Route a save request to a different save method on the server (on the controller).

                                        23 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 →

                                          Breeze 1.3 adds named saves.

                                          By default the EntityManager.saveChanges method sends a save request to an endpoint called “SaveChanges”. With “Named Save”, you can target a different server endpoint such as an arbitrarily named action method on another Web API controller. There are two new properties on the SaveOptions class. A resourceName (for the action method) and a dataService (for targeting a different controller).

                                          http://www.breezejs.com/documentation/download

                                        • Attributes on controller actions to block the use of Select and Expand

                                          Define attributes that block the use of Select and Expand.

                                          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…)
                                            1 comment  ·  Admin →

                                            Attributes for blocking Select and Expand were added a few builds ago, but we’re marking it complete on UserVoice today. Sorry for the delay.

                                            Breeze 1.3.1 is now available, including Inheritance and OData writes/saves.

                                          • Don't see your idea?

                                          1. BreezeJS Feature Suggestions

                                          Feedback and Knowledge Base