afterCreateResourceDbContextFile(
  context: dotnetTypes.DsgContext,
  eventParams: dotnet.CreateResourceDbContextFileParams,
  files: FileMap<Class>
): FileMap<Class> {
  const { resourceDbContextPath, resourceName } = eventParams;

  const modelFile = files.get(
    `${resourceDbContextPath}${resourceName}DbContext.cs`
  );

  if (!modelFile) return files;

  modelFile.code.parentClassReference = CsharpSupport.genericClassReference({
    reference: CsharpSupport.classReference({
      name: `IdentityDbContext`,
      namespace: "Microsoft.AspNetCore.Identity.EntityFrameworkCore",
    }),
    innerType: CsharpSupport.Types.reference(
      CsharpSupport.classReference({
        name: `IdentityUser`,
        namespace: "Microsoft.AspNetCore.Identity",
      })
    ),
  });

  return files;
}

Event Name

CreateResourceDbContextFile

Event Parameters

entities
Entity[]

An array of all entities in the application.

resourceName
string

The name of the resource (typically the entity name).

resourceDbContextPath
string

The path where the database context file will be created.

afterCreateResourceDbContextFile(
  context: dotnetTypes.DsgContext,
  eventParams: dotnet.CreateResourceDbContextFileParams,
  files: FileMap<Class>
): FileMap<Class> {
  const { resourceDbContextPath, resourceName } = eventParams;

  const modelFile = files.get(
    `${resourceDbContextPath}${resourceName}DbContext.cs`
  );

  if (!modelFile) return files;

  modelFile.code.parentClassReference = CsharpSupport.genericClassReference({
    reference: CsharpSupport.classReference({
      name: `IdentityDbContext`,
      namespace: "Microsoft.AspNetCore.Identity.EntityFrameworkCore",
    }),
    innerType: CsharpSupport.Types.reference(
      CsharpSupport.classReference({
        name: `IdentityUser`,
        namespace: "Microsoft.AspNetCore.Identity",
      })
    ),
  });

  return files;
}