Thomas Mueller

My feedback

  1. 77 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    3 comments  ·  1. BreezeJS Feature Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
    Thomas Mueller supported this idea  · 
  2. 268 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    28 comments  ·  1. BreezeJS Feature Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
    Thomas Mueller commented  · 

    I absolutely agree. All I'm saying is that there need not be "a lively debate about whether there is any actual advantage to making async calls to a database." The answer, of course, is that in some cases there is an advantage, while in others there is not. Exploring which cases belong in which bucket could be valuable, but there are undeniably cases for both.

    My company uses Breeze with Azure SQL Database, and we will almost certainly use elastic database pools when the feature leaves preview, so I am biased toward solutions that support scaling.

    Thomas Mueller commented  · 

    That seems like a pretty silly argument. There may be cases where async support would not improve performance, but there are absolutely cases where it would. And some relational databases (Azure's new elastic databases, for example) are easily scaled.

    Thomas Mueller commented  · 

    Thanks as always for the thoughtful comments, Ward. I will definitely look into creating our own async wrapper around SaveChanges so we can perform some of the operations asynchronously. The workflow was just one example; we also perform other async-friendly operations such as logging that use the saveMap and keyMappings arguments.

    But you're exactly right -- while async support would be a wonderful enhancement, its absence is not a blocking issue (at least for us). I fully appreciate that this is no small undertaking, and I will carry on happily using Breeze without it! Then again, this was your idea in the first place. ;-)

    Thomas Mueller commented  · 

    It would be nice to have async support simply because we are accessing the database. But it becomes more important when we want to perform other actions from Breeze controllers. For example, we use AfterSaveEntitiesDelegate to invoke a WF workflow. We have to use WorkflowInvoker.Invoke() rather than InvokeAsync() because (unless I am missing something) there is no way to go async all the way down.

    Based on <http://blog.stephencleary.com/2014/02/synchronous-and-asynchronous-delegate.html>, I believe AfterSaveEntitiesDelegate would need to become Func<Dictionary<Type, List<EntityInfo>>, List<KeyMapping>, Task> to support async.

    Thomas Mueller supported this idea  · 
  3. 8 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  1. BreezeJS Feature Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
    Thomas Mueller commented  · 

    Assuming you're using EF, it would also be helpful for the server to set this automatically if the property has a [Required(AllowEmptyStrings = true)] attribute.

  4. 124 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    under review  ·  6 comments  ·  1. BreezeJS Feature Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
    Thomas Mueller supported this idea  · 
  5. 31 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    under review  ·  0 comments  ·  1. BreezeJS Feature Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
    Thomas Mueller supported this idea  · 
  6. 69 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    2 comments  ·  1. BreezeJS Feature Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
    Thomas Mueller supported this idea  · 
  7. 37 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  1. BreezeJS Feature Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
    Thomas Mueller supported this idea  · 
  8. 63 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    under review  ·  0 comments  ·  1. BreezeJS Feature Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
    Thomas Mueller supported this idea  · 
  9. 182 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    under review  ·  7 comments  ·  1. BreezeJS Feature Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
  10. 50 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  1. BreezeJS Feature Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
    Thomas Mueller supported this idea  · 
  11. 213 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    2 comments  ·  1. BreezeJS Feature Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
  12. 278 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    10 comments  ·  1. BreezeJS Feature Suggestions  ·  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.

    Thomas Mueller supported this idea  · 
  13. 39 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    under review  ·  0 comments  ·  1. BreezeJS Feature Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
    Thomas Mueller supported this idea  · 

Feedback and Knowledge Base