Платформа объекта: установка свойства внешнего ключа

вы можете использовать переменную скобку только со злом eval, как в этом примере

$ a=1; b=10; eval echo {$a..$b}
1 2 3 4 5 6 7 8 9 10

, поэтому вам нужно изменить команду mv на

$ eval mv ./DSC_{$START..$END}.NEF* ./new/"$DIRNAME"

, возможно, двойные кавычки переменные также.

16
задан Sampson 4 March 2010 в 22:09
поделиться

5 ответов

Эта отсутствующая функция, кажется, многих раздражает.

  • Хорошие новости: MS решит проблему с .NET 4.0.
  • Плохие новости: пока, или если вы застряли на версии 3.5, вам придется немного поработать, но это возможно.

] Вы должны сделать это так:

Locker locker = new Locker();
locker.UserReference.EntityKey = new System.Data.EntityKey("entities.User", "ID", userID);
locker.LockerStyleReference.EntityKey = new EntityKey("entities.LockerStyle", "ID", lockerStyleID);
locker.NameplateReference.EntityKey = new EntityKey("entities.Nameplate", "ID", nameplateID);
entities.AddLocker(locker);
entities.SaveChanges();
16
ответ дан 30 November 2019 в 22:24
поделиться

Вы могли сделать дополнительный метод, который создает объект на основе их идентификатор.

0
ответ дан 30 November 2019 в 22:24
поделиться

Используя EntityKey решает Вашу проблему ;)

щелочь.

0
ответ дан 30 November 2019 в 22:24
поделиться

Чтобы упростить задачу, я сам добавил свойство внешнего ключа в частичный класс:

public int UserID
{
   get
   {
      if (this.User != null)
         return this.User.UserID;
   }
   set 
   {
      this.UserReference.EntityKey = new System.Data.EntityKey("entities.User", "ID", value);
   }
}
3
ответ дан 30 November 2019 в 22:24
поделиться

Используйте std:: вектор так.

std::vector<int> function(const std::vector<int>& arr)
{
  return arr;
}

Массив, подобный

int arr[] = {...};

, не рекомендуется возвращать из функции, поскольку он не может скопировать сам себя.

-121--3460681-

при необходимости не используйте его. вы можете просто передать ссылку массива, например:

void foo(std::vector<int> &v) {
    for (int i = 0; i < 10; ++ i) {
        v.push_back(i);
    }
}

, если вы используете:

std::vector<int> foo() {
    std::vector<int> v;
    for (int i = 0; i < 10; ++ i)
        v.push_back(i);

    return v;
}

будет процесс копирования контейнера, стоимость будет дорогостоящей.

К вашему сведению: НРВО может исключить затраты

-121--3460682-

Другой метод, если вы не возражаете против «загрязнения» схемы БД, заключается в добавлении вычисляемого столбца, например, если у вас было поле внешнего ключа FK_Customer вы можете определить новый вычисляемый столбец FK_Customer_Computed который имеет FK_Customer выражения. При создании\обновлении модели edmx поле будет выглядеть как обычное поле, на которое можно ссылаться из объекта сущности.

Или дождитесь EF4:)

0
ответ дан 30 November 2019 в 22:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: