You can inject AbpEditionManager. It has a method GetFeatureValueOrNullAsync that receives the editionId and featureName.
Public virtual Task<string> GetFeatureValueOrNullAsync(int editionId, string featureName);
Here are some information about modifying table schema
modelBuilder.Entity<Blog>()
.ToTable("blogs", schema: "blogging");
class MyContext : DbContext
{
public DbSet<Blog> Blogs { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.HasDefaultSchema("blogging");
}
}
More reference documents : [https://docs.microsoft.com/en-us/ef/core/modeling/relational/tables]) [https://docs.microsoft.com/en-us/ef/core/modeling/relational/default-schema])
It seems that what caused the tenant 1 does not exist.
please send your project to <a href="mailto:[email protected]">[email protected]</a>. This will help to quickly locate the problem. :)
you're welcome :)
[https://github.com/aspnetboilerplate/aspnetboilerplate/blob/dev/src/Abp.Castle.Log4Net/Castle/Logging/Log4Net/Log4NetLoggerFactory.cs#L31])
This does not reload after the configuration information has been changed. However, XmlConfigurator provides ConfigureAndWatch methods, perhaps adding a parameter to the Log4NetLoggerFactory to determine whether reloading is enabled.
[https://github.com/aspnetboilerplate/aspnetboilerplate/pull/3553])
@csbeginner Sorry my English reading ability is not very good.
ConcurrencyStamp and SecurityStamp are GUID strings. sql is NEWID()
You can write a special interface for importing users in bulk. According to the user data of TableOnAnotherApp, the user information (such as username, email, password, etc.) needed by the current application is constructed. Internal use of _userManager.CreateAsync. The framework will automatically handle other User attributes.
If you want to use sql insert statement, please set a string password, bypass sql constraints, and then write a loop in the application to query the imported user, and then set a new password for them.
You can disable the IMustHaveTenant and IMayHaveTenant with a using statement filters after switching to the host.
detailed explanation: [https://www.aspnetboilerplate.com/Pages/Documents/Multi-Tenancy#switching-between-host-and-tenants])
Version 5.5 is the release version. Dev Branch is the latest development code.
The reason why it is bulky is because it contains git records and some objects needed for development.
Just like the documents says: [https://www.aspnetboilerplate.com/Pages/Documents/Entities#iextendableobject-interface])
IExtendableObject defines the ExtensionData string property which is used to store JSON formatted name value objects.
So it can store any object that can be serialized into json
While this technique can be very useful in some cases (when you need to provide the ability to dynamically add extra data to an entity), you should normally use regular properties. Such dynamic usage is not type safe and explicit.