Comments (8)
Yes, this is what the sample illustrates. Have you looked at it?
from entityframeworkcore.scaffolding.handlebars.
Thank you so much @tonysneed. This is what exactly I wanted. Much appreciated.
from entityframeworkcore.scaffolding.handlebars.
@noufionline Sorry for my slow response. I assume you are referring to EF Core Value Conversions, which can be defined in the OnModelCreating
method of the DbContext
class. In this case you need to inject code into the OnModelCreating
method. The way this is traditionally done is via partial methods.
First place the OnModelCreatingExt
partial method in the DbContext.hbs file, which will inject the partial method definition into your generated DbContext
class.
{{{on-model-creating}}}
partial void OnModelCreatingExt(ModelBuilder modelBuilder);
}
}
Then create a partial class file for your generated DbContext
class, in which you implement your partial method.
public partial class NorthwindSlimContext
{
partial void OnModelCreatingExt(ModelBuilder modelBuilder)
{
modelBuilder
.Entity<Product>()
.Property(e => e.CategoryName)
.HasConversion(
v => v.ToString(),
v => (CategoryEnum)Enum.Parse(typeof(CategoryEnum), v));
}
}
Please let me know if this adequately addresses your question. Cheers.
from entityframeworkcore.scaffolding.handlebars.
I updated the latest version and sample to include this scenario. Feel free to re-open this issue if you have further questions.
from entityframeworkcore.scaffolding.handlebars.
Hi @tonysneed,
Thanks a lot. My requirement is I have a PaymentStatus field which is int in SQL Server but in the model generated I wanted as an Enum. How is that possible while reverse engineering?
from entityframeworkcore.scaffolding.handlebars.
@noufionline The conversion then needs to be between an int
and your enum
. For example:
public partial class NorthwindSlimContext
{
partial void OnModelCreatingExt(ModelBuilder modelBuilder)
{
modelBuilder
.Entity<Product>()
.Property(e => e.CategoryId)
.HasConversion(
v => (int)v,
v => (CategoryEnum)v);
}
}
from entityframeworkcore.scaffolding.handlebars.
@noufionline Let me know if this answers your question. Be sure to check out the sample in this repository.
from entityframeworkcore.scaffolding.handlebars.
Hi @tonysneed ,
I think I was not clear with my question. I want the reverse engineered model to have enum property instead of int property.
instead of
public int OrderStatus {get; set} should be public OrderStatusEnum OrderStatus {get; set;}
Hope it helps.
Thanks in Advance.
Noufal
from entityframeworkcore.scaffolding.handlebars.
Related Issues (20)
- [Bug] GenerateManyToMany produces wrong code when using AddHandlebarsTransformers HOT 5
- [Question] How to register multiple propertyTransformer HOT 1
- [Question] EF Core 7 and NET 7 Support Timeline HOT 1
- [Question] DbContext public parameterless ctor added in #220 HOT 8
- [Bug] EF7's HasTrigger is not scaffolded for SQL tables with triggers HOT 3
- GenerateDbSets net setting set-property-name with TransformPropertyName
- EF Core Power Tools HOT 1
- Could not load type Microsoft.EntityFrameworkCore.Scaffolding.Internal.ICSharpDbContextGenerator HOT 3
- Basic Noob Question: Taking Full Control by Extending Handlebars Generators HOT 2
- [Question] Change property's access
- [Question] Support for EF Core 7? HOT 1
- [Typo] Releases labels v7.0.0 as v7.7.0
- T4 Templates vs Scaffolding.Handlebars HOT 4
- [Feature] Change EntityTypeName and EntityFileName transformer to be able to use IEntityType HOT 10
- [Feature] EF Core 8 plans? HOT 7
- [Bug] Missing Scaffolded Properties in EF Core 8 and EntityFrameworkCore.Scaffolding.Handlebars (8.0.0-beta1) HOT 2
- Multiple Schema scaffold not setting HasForeignKey in HbsCSharpDbContextGenerator with correct Schema name. HOT 2
- Skip InverseProperty and ForeignKey Annotations generation with Virtualized Many To Many Table.
- Setting HasDefaultValue for Enumeration in DBContext generation HOT 1
- Allow setting new value for HasDefaultValue
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from entityframeworkcore.scaffolding.handlebars.