Size: a a a

BY Microsoft .NET User Group

2019 April 29

A

Anatoly in BY Microsoft .NET User Group
источник

AB

Anton Burkin in BY Microsoft .NET User Group
я там статейку выше кидал, почему структуры не прокатят
источник

AB

Anton Burkin in BY Microsoft .NET User Group
там парень изложил все проблемы.
источник

A

Anatoly in BY Microsoft .NET User Group
Anton Burkin
я там статейку выше кидал, почему структуры не прокатят
Ну, вот у кор тимы катят
источник

A

Anatoly in BY Microsoft .NET User Group
и они делают 7М рпс, сколько делает тот парень?
источник

AB

Anton Burkin in BY Microsoft .NET User Group
Anatoly
и они делают 7М рпс, сколько делает тот парень?
глянь статейку, там действительно куча примеров кода и какие подводные камни.
источник

E

EgorBo in BY Microsoft .NET User Group
влом читать, процитируй хоть один камень)
источник

A

Anatoly in BY Microsoft .NET User Group
Anton Burkin
глянь статейку, там действительно куча примеров кода и какие подводные камни.
So ORM support for structs is OK, but only if you don’t define your entities as structs. That is not possible due to the fundamental limitations of .NET value types. You can’t inherit from a struct whereas “big” ORMs rely on the ability to create runtime proxy classes on top of your entities in order to track changes in them.
источник

A

Anatoly in BY Microsoft .NET User Group
ну, я как-то обошёл эту проблему
источник

E

EgorBo in BY Microsoft .NET User Group
было бы забавно если бы в ДТО еще помимо того что это структура еще искусственно поля бы раздвинули друг от друга чтобы при многопоточном доступе не было оверхеда)))
источник

E

EgorBo in BY Microsoft .NET User Group
Anatoly
So ORM support for structs is OK, but only if you don’t define your entities as structs. That is not possible due to the fundamental limitations of .NET value types. You can’t inherit from a struct whereas “big” ORMs rely on the ability to create runtime proxy classes on top of your entities in order to track changes in them.
big ORMs rely -- пахнет протекшей абсракцией
источник

E

EgorBo in BY Microsoft .NET User Group
какое дело домену до орм
источник

A

Anatoly in BY Microsoft .NET User Group
дальше там типа "вельютипы зло, там медленный дефолтный эквалс"
источник

AB

Anton Burkin in BY Microsoft .NET User Group
«If you need performance, you have to define your own equality members in each struct and cannot factor any common logic out because structs don’t support inheritance.»
источник

A

Anatoly in BY Microsoft .NET User Group
Anton Burkin
«If you need performance, you have to define your own equality members in each struct and cannot factor any common logic out because structs don’t support inheritance.»
ну говно же
источник

A

Anatoly in BY Microsoft .NET User Group
взял, вынес всё в утилитарные методы типа hashcode и прочее
источник

A

Anatoly in BY Microsoft .NET User Group
> You have to forgo encapsulation when using structs as they don’t allow you to hide or redefine the default parameterless constructor.
источник

AB

Anton Burkin in BY Microsoft .NET User Group
«Note that ValueType.Equals() performs well when the type consists of primitive values only (which should also be Value Types); it uses byte-by-byte comparison in this case. But in cases when your struct includes a reference type – and string is one of them – it falls back to using reflection to compare the instances field-to-field.»
источник

A

Anatoly in BY Microsoft .NET User Group
ну, или перфоманс, или DDD
источник

m

metaclass in BY Microsoft .NET User Group
вообще для этого есть кодогенерация, t4, решарпер и прочее такое.
источник