2016-11-08 3 views
0

Я чувствую, что это будет очень очевидно для многих из вас, но мое исследование никуда не привело. Я пытаюсь создать класс, который будет создавать объекты со списком свойств, как этот:Как правильно создать класс C# со списком недельных часов работы

public class MyObject 
    { 
     [Key] 
     public int Id { get; set; } 
     public string Title { get; set; } 
     public List<OpenHours> OpenHours { get; set; } 
     public Filter Filters { get; set; } 

    } 

Я хочу OpenHours объекта для хранения списка ежедневных часов, так что они доступны, делая MyObject.OpenHours [указатель] .property.

В настоящее время я получаю сообщение об ошибке, что объект OpenHours не имеет определенного ключа, но на самом деле я не хочу, чтобы он был в моей базе данных как другой объект, я просто хочу, чтобы он сохранял свойства таким же образом что если бы я перечислил каждую из свойств weekDay непосредственно в классе MyObject.

Вот класс OpenHours:

public class OpenHours 
{ 
    public DayOfWeek Day { get; set; } 
    public string StartTime { get; set; } 
    public string EndTime { get; set; } 
} 

Я хочу, чтобы каждый из моих «MyObject» объекты, чтобы иметь уникальные значения OpenHours, так что я не хочу, чтобы создать Id только для него. Я что-то пропустил в синтаксисе, или это плохая логика для этого?

Заранее благодарим за ответы!

Edit: Кто ответил и удалил свой ответ после этого, так что я не могу пометить его как правильный ответ, но решение было добавить [ComplexType] в моем классе:

[ComplexType] 
public class OpenHours 
{ 
    public DayOfWeek Day { get; set; } 
    public string StartTime { get; set; } 
    public string EndTime { get; set; } 
} 

ответ

0

Кто-то ответил и удалил свой ответ после этого, так что я не могу пометить его как правильный ответ, но решение было добавить [ComplexType] мой класс:

[ComplexType] 
public class OpenHours 
{ 
    public DayOfWeek Day { get; set; } 
    public string StartTime { get; set; } 
    public string EndTime { get; set; } 
} 

Ссылки для дополнительной информации на сложных типов:

2

если каждый запись будет уникальной, тогда создайте составной первичный ключ, если вы не хотите вводить идентификатор. Сделайте все свойства первичным ключом. Это будет менее эффективным в терминах БД, чем просто создание идентификатора в качестве основного ключа.

Смежные вопросы