@ -9,7 +9,7 @@ namespace eu.railduction.netcore.dll.Database_Attribute_System.Attributes
[AttributeUsage(AttributeTargets.Field, Inherited = false, AllowMultiple = false)]
[AttributeUsage(AttributeTargets.Field, Inherited = false, AllowMultiple = false)]
public class DbForeignObject : Attribute
public class DbForeignObject : Attribute
{
{
public Type _ foreignObjectType;
public Type foreignObjectType;
public string _foreignKeyName ;
public string _foreignKeyName ;
public DbForeignKey foreignKeyAttribute ;
public DbForeignKey foreignKeyAttribute ;
@ -20,11 +20,9 @@ namespace eu.railduction.netcore.dll.Database_Attribute_System.Attributes
/// <summary>
/// <summary>
/// Marks variable as foreign-object of an dbObject
/// Marks variable as foreign-object of an dbObject
/// </summary>
/// </summary>
/// <param name="foreignObjectType">Type of foreignObject</param>
/// <param name="foreignKeyName">Fieldname of foreignKey associated with the foreignObject</param>
/// <param name="foreignKeyName">Fieldname of foreignKey associated with the foreignObject</param>
public DbForeignObject ( Type foreignObjectType , string foreignKeyName = null )
public DbForeignObject ( string foreignKeyName = null )
{
{
this . _foreignObjectType = foreignObjectType ;
this . _foreignKeyName = foreignKeyName ;
this . _foreignKeyName = foreignKeyName ;
}
}
@ -32,9 +30,10 @@ namespace eu.railduction.netcore.dll.Database_Attribute_System.Attributes
{
{
this . parentField = fi ;
this . parentField = fi ;
this . classAttribute = classAttribute ;
this . classAttribute = classAttribute ;
this . foreignObjectType = fi . GetType ( ) ;
// Init foreign-object class
// Init foreign-object class
DbObject foreignClassAttribute = ClassAction . Init ( this . _ foreignObjectType) ;
DbObject foreignClassAttribute = ClassAction . Init ( this . foreignObjectType) ;
// Check if something is weird
// Check if something is weird
if ( foreignClassAttribute . primaryKeyAttributes . Count < 1 ) throw new InvalidOperationException ( $"'{foreignClassAttribute.parentClassType.Name}' does not have a primaryKey." ) ;
if ( foreignClassAttribute . primaryKeyAttributes . Count < 1 ) throw new InvalidOperationException ( $"'{foreignClassAttribute.parentClassType.Name}' does not have a primaryKey." ) ;