Coder Social home page Coder Social logo

Avoid output about dapper-plus HOT 7 OPEN

g-lashuk avatar g-lashuk commented on June 2, 2024
Avoid output

from dapper-plus.

Comments (7)

JonathanMagnan avatar JonathanMagnan commented on June 2, 2024

Hello @g-lashuk ,

I will first recommend you to add an index on the id and tenantid columns if you don't already have one. Something looks wrong if the SELECT part takes that much time.

As for disabling the output, I'm unsure exactly why our library is currently outputting all values. One cause could be if you have the audit feature enabled? Otherwise, could you show us how you did your mapping and how you call the bulk update (we are most interested in which options you have enabled) so we will be able to let you know which options are currently causing our library's output values?

Best Regards,

Jon

from dapper-plus.

JonathanMagnan avatar JonathanMagnan commented on June 2, 2024

Yes, the audit will enable the output of all values before and after the update is performed.

Your table also probably contains a trigger or something like this, which doesn't allow us to output those values directly (so we have to use a temporary table and then make a JOIN after).

Best Regards,

Jon

from dapper-plus.

g-lashuk avatar g-lashuk commented on June 2, 2024

Is there any setting to exclude columns from auditing? For example if I have a model with properties: Prop1 Prop2 and table with columns Prop1 Prop2 Prop3. As far as I see even if I've configured mapping only for Prop1 and Prop2. Prop3 is also selected after merge into statement.

P.S you can see that even in my example, Payload is not presented in my DTO.

I'm asking because some of the columns (Payload in particular) contains a lot of data. But we updating only update_date hash and revision via the model without Payload, but anyway it's selected after the merge and leads to perf decrease.

from dapper-plus.

JonathanMagnan avatar JonathanMagnan commented on June 2, 2024

Hello @g-lashuk ,

Sure, you can choose properties to exclude:

DapperPlusManager.Entity<EntitySimple>().Table("EntitySimples")
	.Identity(x => x.ID)
	.Map(x => x.ColumnString) 
	.Map(x => x.ColumnInt, "ColumnInt") 
	.AuditMode(x => x.ColumnString, ColumnMappingAuditModeType.Exclude)

or properties to include (you exclude them all at first):

DapperPlusManager.Entity<EntitySimple>().Table("EntitySimples")
	.Identity(x => x.ID)
	.Map(x => x.ColumnString) 
	.Map(x => x.ColumnInt, "ColumnInt") 
	.AuditMode(AuditModeType.ExcludeAll)
	.AuditMode(x => x.ColumnInt, ColumnMappingAuditModeType.Include)
	.AuditMode(x => x.IDPatate, ColumnMappingAuditModeType.Include);

So, in your case, it is probably to exclude them all and include only those you want as, by default, we select everything.

Let me know if that answers your question correctly.

Best Regards,

Jon

from dapper-plus.

g-lashuk avatar g-lashuk commented on June 2, 2024

Cool, currently I'm on vacation. But some of my colleagues will check it next week and resolve the issue if it helps. Thank you!

from dapper-plus.

JonathanMagnan avatar JonathanMagnan commented on June 2, 2024

Hello @g-lashuk ,

Since our last conversation, we haven't heard from you.

Were you able to solve your issue?

Don't hesitate to contact us if you need further assistance.

Best regards,

Jon

from dapper-plus.

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.