Прежде всего, вы должны сохранить ссылку на случайный экземпляр, чтобы получить правильную случайную последовательность чисел:
Random randGen = new Random();
. Второе, что нужно знать, состоит в том, что макс случайного является исключительным, поэтому для правильного решения проблемы вы должны:
int eitherOneOrZero = randGen.Next(1, 11) % 10;
Чтобы обобщить ее на любое изменение шансов, вы можете сделать:
Random randGen = new Random();
var trueChance = 60;
int x = randGen.Next(0, 100) < trueChance ? 1 : 0;
Тестирование:
Random randGen = new Random();
var trueChance = 60;
var totalCount = 1000;
var trueCount = 0;
var falseCount = 0;
for (int i = 0; i < totalCount; i++)
{
int x = randGen.Next(0, 100) < trueChance ? 1 : 0;
if (x == 1)
{
trueCount++;
}
else
{
falseCount++;
}
}
Выход:
True: 60.30%
False: 39.70%
blockquote>
Для этого вы можете отсоединить объект, извлеченный из первой таблицы. Вы можете достичь этого, используя AsNoTracking () . Это заставит EF не заботиться об изменениях, внесенных в сущности, взятые из first_table_objects
first_table_object first = (ctx.first_table_objects.AsNoTracking().Select(s => s)).FirstOrDefault()