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.

  1. how upload image

    How I can upload images when I save an entity?
    thank you!!!

    15 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  2. 10 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  3. Support .NET Validation Attributes

    It would be great if the .NET validation attributes defined on the business model were sent along with the metadata. One benefit of this feature would be that we wouldn't have to redefine error messages on the client side.

    278 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    10 comments  ·  Flag idea as inappropriate…  ·  Admin →

    A quick update for this request:

    We’re probably 50% there today, but hope to get to 80% soon. This is certain to get done, but we’re just not there yet.

  4. Provide more options on IKeyGenerator policy injection

    IKeyGenerator policy is discovered now by full appDomain asseblies scan.
    Please, provide an option that will allow me to explicitly specify required implementation. E.g.:
    - configuration option in app configuraiton file;
    - property or overridable virtual factory method of context provider;
    - etc.
    If none is specified, then defaul assembly-scanning approach can be used.

    3 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  5. JSON API, Ember.JS & REST Support

    38 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    3 comments  ·  Flag idea as inappropriate…  ·  Admin →
  6. RESTfull conception support

    RESTfull concept suggests to use different http methods(get/post/put.delete) for CRUD operations with specific request params and responses. Also it suggests send only necessary info.(for ex. no need send entityAspect for RESTfull API).

    Similar functionality exists in JayData. Will be great if Breeze will support this functionality too. It'll be usefull for big apps, for api which have to be shared to other clients and expand area of usage.

    Also this functionality will add supporting DTO without writing own context provider for breeze.webapi .net framework because in this no need to use breeze.webapi .net. Generally users will develop asp.net web api…

    214 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    14 comments  ·  Flag idea as inappropriate…  ·  Admin →
  7. Update the Angular-Breeze ToDoMVC Template...

    ...to reference the current versions of the NuGet libraries involved. I tried updating them myself, but the the demo broke, and I can't figure out why. Possibly the json.net?

    1 vote
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  8. Include instructions for implementing the starter tutorials using Webmatrix3

    Beginners trying to get to grips with learning Breeze in conjunction with other techniques including Node, Express, Angular and MongoDB (the Mean stack) would possibly benefit from the relative simplicity of an IDE like Webmatrix before migrating on to more sophisticated IDEs.

    2 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  9. (Minor) code change for tutorial - Angular.js

    Currently the javascript reads:

       $scope.results = data.results;
    
    $scope.$apply();

    Consider this instead:
    $scope.$apply(function () {

            $scope.results = data.results;
    
    });

    If code isn’t wrapped in a function passed to $apply, and it throws an error, that error is thrown outside of AngularJS, which means any error handling being used in your application is going to miss it. $apply not only runs your code, but it runs it in a try/catch so your error is always caught, and the $digest call is in a finally clause, meaning it will run regardless of an error being thrown.

    http://jimhoskins.com/2012/12/17/angularjs-and-apply.html

    4 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  10. Expose a method on the EntityManager to "unwrap" an entity instance (toJS).

    There are a few use cases where an entity instance needs to be sent to the server to an MVC API controller (for example for async server side validation); to do this, it is necessary to obtain an unwrapped version of the instance (plain JSON) that contains no internal properties such as entityAspect and uses properties instead of observables (ko.mapping.toJS is not suitable because of the former). Also, because the client configuration allows for a different naming convention, the method should be able to translate the names back to the naming convention originally used by the server.

    Such a method…

    202 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    6 comments  ·  Flag idea as inappropriate…  ·  Admin →
  11. Breeze clientside serialization of DateTimeOffset DataProperties

    Thanks for addressing my case about supporting the CLR DateTimeOffset type in breeze (supported from v1.1.1).

    Please look at this case for background information.

    I have looked into how serialization of JsDate/DateTime/DateTimeOffset works in Breeze, and found a single shortage that defeats my idea of using DateTimeOffset on the server.

    I believe that you will find my change suggestion reasonable.


    • In breeze, Dates are serialized in ISO-8601 format ("yyyy-MM-dd\THH:mm:ss.fffK") both by the breeze client and by JSON.NET configured by Breeze.WebAPI.
      This is according to my expectations.


    • When a DateTimeOffset is serialized by JSON.NET on the server, the timezone part of…

    77 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    3 comments  ·  Flag idea as inappropriate…  ·  Admin →
  12. camelCased resourceby default

    I have a database with Countries (Capital c). I use camelCase with breeze and I can query like this:
    entityQuery.from("countries"). However, when I want to query locally I need to use entityQuery.from("Countries") or metadataStore.setEntityTypeForResourceName('countries', 'Country');

    I do the latter, but I would like this to be done automatically when setting camelcase as default.

    Or am I doing something wrong?

    4 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  13. 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…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  14. Integrate with KendoUI

    I see Kendo doing work towards Breeze integration:

    KendoUI datasource http://www.kendoui.com/blogs/teamblog/posts/13-02-21/breezejsandthekendouidatasource.aspx

    Kendo-labs repository
    https://github.com/kendo-labs/breeze-kendo

    Can I hope that Breeze will pick up the torch and make some integration progress as well?

    69 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    2 comments  ·  Flag idea as inappropriate…  ·  Admin →
  15. 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…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  16. use MetadataStore.defaultInstance in EntityManager constructor as per documentation

    The documentation says that if metadataStore is not defined in the config when creating a new EntityManager then it will use MetadataStore.defaultInstance. However, that doesn't appear to be the case.

    The code actually creates a new instance:

        if (isCtor) {
    
    configParam = configParam.whereParam("metadataStore").isInstanceOf(MetadataStore).isOptional().withDefault(new MetadataStore());
    }

    This isn't a biggie but either the code or documentation should be updated so that they are consistent.

    1 vote
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  17. Update samples to use typescript

    Provide samplese that use breeze and typescript

    114 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    under review  ·  2 comments  ·  Flag idea as inappropriate…  ·  Admin →
  18. 124 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    under review  ·  6 comments  ·  Flag idea as inappropriate…  ·  Admin →
  19. 5 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  20. Avoid the manual entity type creation process when there aren´t 1:1 mappings between your database and client business objects .

    When using a lot of DTO´s instead of 1:1 entity mappings, having to add those types manually to the metadataStore is a "painful" process.
    I´ve come up with https://github.com/dotnetricardo/SummerBreeze to minimize that operation. can you please add a similar feature?
    Thank you very much!

    3 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  • Don't see your idea?

1. BreezeJS Feature Suggestions

Categories

Feedback and Knowledge Base