Coder Social home page Coder Social logo

QOL For save about mongodb.entities HOT 3 CLOSED

dj-nitehawk avatar dj-nitehawk commented on May 28, 2024
QOL For save

from mongodb.entities.

Comments (3)

dj-nitehawk avatar dj-nitehawk commented on May 28, 2024

i think it's a bad idea for the library to do that automatically due to cases such as:

say the developer wants to just embed the author without actually saving it.

var author = new Author { Name = "Eckhart Tolle" }
book.Author = author;
book.Save()

this will embed the author in the book with a null id. which is the expected behavior. if the library saves the author to the collection without the developer explicitly saying so, that's a bug. now there's an unwanted author entity in the collection.

and for referenced relationships, we could assume the developer intended to save the author to the db if they wanted to reference that author from another entity like so:

book.AuthorRef = author.ToReference();

but i feel it's good to keep the behavior consistent everywhere and let the developer train themselves in to explicitly saving entities.

also it would be breaking single responsibility principle at method level.

hope you see my point of view :-)

from mongodb.entities.

ColonelBundy avatar ColonelBundy commented on May 28, 2024

Gotcha, could we possibly introduce another method for it as a compromise? For instance... book.SaveAll() ?
In most cases I just feel like it's a lot of repetitive calls and people coming from entity framework would feel more at home, me included.

from mongodb.entities.

dj-nitehawk avatar dj-nitehawk commented on May 28, 2024

it would also be bad from a performance perspective because I'd have to use reflection to loop through each and every property of the entity being saved to see which properties contain other entities that haven't been saved. I've seen classes that contain close to 100 properties. using reflection on a class like that would be a crime imho. also what happens to deeply nested unsaved entities? should the library auto save those too?

you see, it's just an unnecessary complication from the perspective of the library.

for referenced relationships however I'm willing to create an additional method for adding a related entity. something like book.Authors.AddSaving(author)

from mongodb.entities.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.