Я хотел бы добавить внешний ключ по уникальному атрибуту, отличному от нуля, во второй таблице. Вот как это выглядит:Entity Framework FK по уникальному свойству индекса
public class T_AlarmTresholds
{
[Key]
public int Id { get; set; }
....
....
public Guid MeasurementGuid { get; set; }
[ForeignKey("MeasurementGuid")]
public virtual T_Measurements Measurement { get; set; }
}
public partial class T_Measurements
{
public int Id { get; set; }
[Index("UC_Guid", IsUnique = true)]
public Guid GUID { get; set; }
}
Вот модель строитель:
modelBuilder.Entity<T_Measurements>()
.HasMany(x => x.T_AlarmTresholds)
.WithRequired(x => x.Measurement)
.HasForeignKey(x => x.MeasurementGuid);
Entity Framework бросает ошибку при SQL Server принимает это решение. Здесь ошибка в Visual Studio во время отладки:
{ "Один или несколько проверок были обнаружены ошибки в ходе модели генерация: \ г \ п \ г \ nT_Measurements_T_AlarmTresholds_Source_T_Measurements_T_AlarmTresholds_Target: : Типы всех свойств в зависимых роли ссылочное ограничение должно быть таким же, как соответствующие типы свойств в основной роли . Тип свойства «MeasurementGuid» для объекта «T_AlarmTresholds» не соответствует типу идентификатора свойства для объекта «T_Measurements» в ссылочное ограничение 'T_Measurements_T_AlarmTresholds'. \ r \ n "}
Действительно, база данных уже разработана с использованием guid для зависимостей внешнего ключа – miechooy
@miechooy см. Мое обновление - основные точки - вы не ставите атрибут внешнего ключа в свойство зависимостей. –