Inlägg

Inlägg som MaskenLilja har skrivit i forumet
Av MaskenLilja

Ta text från HTML till PHP och sök med texten i MySQL

Så jag har nyss börjat jobba med HTML, php och sql men försöker få dom att jobba tillsammans går sådär. Aldrig jobbat med php eller sql.

Jag vill använda text från en html input för att söka efter en sak i min MySQL databas genom att använda PHP.

Jag kan få texten från html till php genom

<form action="findUser.php" method="POST"> <input type="text" name="id"> </form>

echo $_POST["id"];

Jag har nu fått värdet till php och vill göra det till en variabel som kan användas i $sql.

$sql = "select * from user_member_table where UserID = (id)";

Av MaskenLilja
Skrivet av IMPANI:

Skulle du kunna dela med dig av själva arbetsfilen så man kan ta en titt?

Tror du kan få filen genom detta.

https://1drv.ms/u/s!AqQAZdtVdTgSmKMgzqdowhPKE27sIg?e=leo7aF

Av MaskenLilja

Isometrisk 3D plan i Illustrator, varför blir dom inte perfekta?

Så när jag skapar en 300x300 kvadrater i Illustrator varför blir den vänstra sidan inte rak?

Illustrators förinställningar för isometriskt höger är (-45, -35,264, -30)

Av MaskenLilja

Uri path Den angivna sökvägens format stöds inte : System.NotSupportedException

Jag vill skapa en path som går till en viss mapp och för att göra detta har jag tagit Directory.GetCurrentDirectory() och delat upp sögvägen i segment så jag kan ta bort debug och bin för att ersätta dom med annat.

private void SeperatePath()
{
string path = Directory.GetCurrentDirectory();
Uri uri = new Uri(path);
string[] splitUri = uri.Segments;
int segments = splitUri.Length;
segments -= 2;
string newPath = "";
for (int i = 0; i < segments; i++)
{
newPath += splitUri[i];
}
string[] fileArray = Directory.GetFiles(newPath); //Skapar problemet

//Jag vill få namnet på alla filer i en mapp så jag ladda in dom samtdigt istället för att specifikt ladda in typ image1 så att om jag lägger till ytterligare filer i mappen så behöver jag inte ändra koden.
foreach (string file in fileArray)
{
Debug.WriteLine(file);
}

Debug.WriteLine(path);
Debug.WriteLine(newPath);

innan jag gör något med Uri path så ser den ut såhär:
C:\Users\2019 PC\source\repos\CreateResources\CreateResources\bin\Debug
efteråt ser den ut såhär
/C:/Users/2019%20PC/source/repos/CreateResources/CreateResources/
Jag antar detta är problemet men vet inte hur jag löser det.

ps. nån lust att påminna mig vad för tecken det är för att skriva kod korrekt i en fråga i forumet?

Av MaskenLilja
Skrivet av MickeBoy:

Jag gissar på att du har en egen datakälla som du vill visa i en listbox.

Om så är fallet så är det Listbox med databinding som du ska leta efter bra exempel på.

Jag har en klass BuildBlock som innehåller en ListBoxItem vars utessende är baserat på en rektangle. Jag kan nu hämta detta elementet från min egna klass lägga till det i en ListBox precis som jag vill men ListBoxItem har inte längre en koppling till klassen den skapades från. Jag vill kunna hämta PositionOnGrid värdet från listan.

private void LoadBuildBlocks()
{
foreach (var item in resourceDictionary.Values)
{
if (item.GetType() == typeof(Rectangle))
{
BuildBlock bb = new BuildBlock((Rectangle)item);
TestListBox.Items.Add(bb.ListBoxItem);
bbList.Add(bb);
}
Debug.WriteLine(item.GetType());
}
}

public string Name { get; set; }
public string PositionOnGrid { get; set; }
private Rectangle rectangle;

public BuildBlock() {
rectangle = new Rectangle();
rectangle.Height = 100;
rectangle.Width = 100;
rectangle.Fill = new SolidColorBrush(Colors.AliceBlue);
ListBoxItem item = new ListBoxItem();
item.Height = 100;
item.Width = 100;
item.Content = rectangle;
ListBoxItem = item;
}

public BuildBlock(Rectangle rect)
{
rectangle = new Rectangle();
Name = rect.Name;
rectangle.Height = rect.Height;
rectangle.Width = rect.Width;
rectangle.Fill = rect.Fill; ;
Debug.WriteLine("BuildBlock Tag: " + rect.Tag);
ListBoxItem item = new ListBoxItem();
item.Height = rect.Width;
item.Width = rect.Height;
item.Content = rectangle;
ListBoxItem = item;
}
public ListBoxItem ListBoxItem { get; set; }

Av MaskenLilja

Modifiera ListBoxItem klassen för att lägga till ytterligare element Visual studio WPF C#

Finns det någotvis man kan adatera en existerande klass som ListBoxItem? Vad jag vill göra är att lägga till ett nytt värde, precis som hur item.Height, item.Width osv.. så att när jag väljer objekted så kan jag hämta detta nya element. Jag vill att det ska fungera precis som hur jag kan plocka fram en rektangles fill från det utvalda ListViewItem genom item.Content.

Jag vill att Content ska bestämma hur det ser ut i ListBox samtidigt som jag vill ha en klass kopplad till ListBoxItem.

private void BuildBlock_Selected(object sender, SelectionChangedEventArgs e)
{
ListBox lb = sender as ListBox;
ListBoxItem lbi = lb.SelectedItem as ListBoxItem;

(Klass klass 1 = (Klass1) lbi.Klass1;

Rectangle rectangle = (Rectangle) lbi.Content;
try
{
selectedColorBrush = (SolidColorBrush) rectangle.Fill;

}
catch (System.InvalidCastException ex) {
Debug.WriteLine(ex + "\nFailed to selected Solid Color Brush");
}

}

Av MaskenLilja

En ekvation som kan lösa mitt programmerings problem i Android Studio.

Så jag huller på att leka runt med Animeringar inom Android Studio och har kommit till ett problem när det gäller att ändra riktningen på objekt jag animerar. Det borde finnas en matte lösning för detta som jag sen kan implementera.

Det är 5 sekunder från mitten till kanterna. Om jag byter från höger till vänster efter 4 sekunder ska det nu ta 9 sekunder för animeringen att nå den vänstra sidan. Detta är enkelt att göra problemet framkommer i hur jag håller koll på den där 1 sekunden som blev kvar. För om jag igen byter riktigning efter 7 sekunder ska det ta 8 sekunder att nå höger sida och om jag omdelbart bytte riktning igen ska det ta 2 sekunder att nå vänster sida.

Hoppas jag lyckats förklara det.

activity_main.xml layout

Av MaskenLilja
Skrivet av macbang:

Din överklockning är inte stabil. Därför det kraschar i benchmark . Men en överklockning kan även vara stabil i benchmark, för att sen kraschar/ bluescreen när du bara surfa eller spela upp en film. Så antingen sänk överklockningen. Eller ge cpun mer volt. Men håll koll på värmen.

Vet du vart i etu jag tilldelar mer volt?

Av MaskenLilja

Random bluescreen efter jag pillat runt med overclocking.

Så problemet är att jag nu fått en bluescreen helt random när min processor inte användes överhuvudtaget. Jag vet att det är relaterat till min overclocking då det startade strax därefter och jag får samma effekt om jag försöker gå over 47x. Jag tänkte först att jag bara stoppar på 47x men eftersom det verkar hända random behöver jag fixa det. Så några ideer kring varför? Använde Intel Extreme tuner för att göra overclockningen.

Vad jag gjorde var sätta alla cores på samma 47x ratio inom advanced tuning pillade lite med processor cache ratio för att se om det gjorde någon skillnad men så fort jag sätter ration på över 47x och börjar stresstesta får jag en bluescreen när datorn startar upp igen får jag ingen info om vad som hände.

Processor
Brand String Intel(R) Core(TM) i5-9600K
CPU @ 3.70GHz

Graphics
Name NVIDIA GeForce RTX 2070
RAM 4,00 GB

Memory
Total Installed Memory 16,00 GB
Device Locator ChannelA-DIMM2 Default Speed 2133 MT/s
Capacity 8,00 GB (två)

Motherboard
Manufacturer ASUSTeK COMPUTER INC.
Model PRIME Z390-P

Antar att det är relevant men har en power supply Corsiar RM650x
Aldrig gått över 65 grader på cpu under stress test på 30 minuter.

Av MaskenLilja

Batteri eller annat? HP zbook 15 g4.

Så farsan tog en hp zbook 15 4g från jobbet, den funka där när han testa den en stund senare men när den kom till mig hade batteriet börja strula. Första gången tog det en bra stund innan den gick igång, nästa gång tog det ännu längre tid och kabeln va i och nu startar den inte alls. Tänkte fråga om tankar innan vi spenderar 800 kr på ett batteri. Äre batteriet tror ni? Laddar lampan lyser vitt lär kabeln är i och caps lock gå upp en stund när man håller nere knappen men bara ibland.

Av MaskenLilja

Hur viktigt är kompakt kod?

Visste inte riktigt hur jag skulle formulera rubriken men min tanke kommer ifrån att jag använder en tråd för att simulera en timer i en Android app jag bygger och i den tråden har jag bland annat ett if-else statement där i det kallas på andra metoder som också har if else statements. Min fråga är alltså kommer detta någonsin att påverka preseterandet av applicationen på en av dagens mobiler?

Av MaskenLilja
Skrivet av Rouge of Darkness:

Templimit brukar välligga runt 85°c så ja du är troligen på gränsen till att det börjar klocka ned sig

Det var så jag tänkte.

Av MaskenLilja
Skrivet av Trojancreeper:

Vilket grafikkort samt vilka spel gäller det?

Gigabyte Nvidia Geforce 2070 rtx, spelet är war thunder. Enligt GeForce Experience borde kortet klara det.

Av MaskenLilja
Skrivet av snajk:

Funkar det innan kortet blir för varmt så borde du kunna lösa det genom att förbättra kylningen så att det inte blir för varmt. Hur du gör det beror på förstås, är det mycket damm i datorn kan det räcka med en ordentlig städning, men räcker inte det kanske du kan kolla på att ändra fläktkurvor eller liknande med typ Afterburner. Har du fortfarande problem kanske du kan kolla på att lägga till mer fläktar till datorn eller plocka loss kylaren till grafikkortet och byta kylpastan eller så.

Tackar.

Av MaskenLilja

Överhettat grafik kort som sänker fps.

Jag skaffade nyligen en 1440p och märkt att mitt grafikkorts tempratur åker upp snabbt och efter en stund så sjunker den plötsligt och i samband med detta får jag låg fps, så jag antar att kortet sänker prestandan för att kyla ner sig. Min fråga är då betyder det att kortet inte kan klara dom här inställningarna, innan detta händer får jag bra fps eller behöver jag bara göra rent datorn och kanske förbättra fläktarna?

Medans jag har bra fps så är kortet runt 85 grader och så fort fps sjunker så sjunker tempraturen till runt 60 grader. Får dessa värden från speccy och vet inte hur exakta dom är.

Av MaskenLilja

En fråga om kod som gör enkla saker, som en timer.

Hej så jag har undrat en stund nu om kod för funktioner som en timer ser ut. För när jag skapar en metod för det i min egna kod så verkar den alltid så överdriven för en så liten process. Så jag undrade om den faktiskt är överdriven eller om det är så här koden ska se bara att vi inte ser den då metoden redan finns bortgömd bland våra imports. Ett exempel på en Timer jag gjorde för att kontrollera tiden som ett popup fönster skulle visa text.

public void popupTimer() { if (timerOn == false) { new CountDownTimer(3000, 1000) { public void onTick(long milliesUntilFinished) { findViewById(R.id.popupTextView).setVisibility(View.VISIBLE); timerOn = true; } public void onFinish() { findViewById(R.id.popupTextView).setVisibility(View.INVISIBLE); timerOn = false; } }.start(); } }

Av MaskenLilja

DrawingVisual skapa en text ruta som uppkommer när musen är över ett objekt och försvinner därefter.

Så jag försöker att manuellt skapa en text ruta som visar musens x och y positioner när den hålls över ett objekt men har kört fast vid att textrutan framkommer men så fort den skapas tas den bort. Koden ska kunna ta bort rutan när musen inte längre är över objektet så jag skapade en MouseEnter och en MouseLeave methoder för att hålla koll på detta och ta bort rutan. Istället så fungerar allt bara att text rutan ständigt tas bort och läggs till och jag vet inte varför. Vad i min logik är fel?

Varför går MouseLeave metoden igång varje gång MouseEnter metoden går av?
Koden är inte klar jag vill bara få feedback till varför det inte fungerar som jag tycker det borde göra.

private Image textImage; private bool inShape; public MovementTestWindow() { InitializeComponent(); inShape = false; textImage = new Image(); DrawText(new Point(100, 100), "Shape"); } private void MouseEntered(object sender, MouseEventArgs e) //Händer när man kommer in. { if (inShape == false) { inShape = true; } myGrid.Children.Add(textImage); UpdateTextBox(); } private void UpdateTextBox() { string txt = "In Shape: " + inShape.ToString(); Status.Text = txt; } private void MouseLeft(object sender, MouseEventArgs e) //Händer när man lämnar. { if(inShape == true) { inShape = false; } myGrid.Children.Remove(textImage); UpdateTextBox(); } private void DrawText(Point point, string shapeName) { var visual = new DrawingVisual(); using (var obj = visual.RenderOpen()) { FormattedText text = new FormattedText(shapeName, CultureInfo.GetCultureInfo("en-us"), FlowDirection.LeftToRight, new Typeface("Verdana"), 14, new SolidColorBrush(Colors.Black)); obj.DrawText(text, point); } PixelFormat format = new PixelFormat(); RenderTargetBitmap rtv = new RenderTargetBitmap(600, 600, 96.0, 96.0, format); rtv.Render(visual); textImage = new Image(); textImage.Source = rtv; }

Av MaskenLilja

The entity type '...' requires a primary key to be defined.

Hej, FYI detta är skolarbete.

Bakgrund. Jag huller på att skapa en databas med x antal tabeller. I min context klass har jag tre dataset, varav en, Player använder sig av andra klasser, Card och Hand. Detta verkar ha skapat problem när jag försöker använda Add-Migration så måste jag lägga till en

public int Id {get; set;}

för att få det att fungera, men detta leder till att alla klasser med denna kod i sig får sitt egna 'table' i databasen. Är det menat att detta ska hända eller kan jag bli av med det?

Context.

namespace WpfGameDAL { public class GameDbContext : DbContext { public DbSet<Player> Players { get; set; } public DbSet<GameSession> Sessions { get; set; } public DbSet<GameStatistics> Statistics { get; set; } protected override void OnConfiguring(DbContextOptionsBuilder options) { options.UseSqlServer(@Server=(localdb)\mssqllocaldb;Database=WpfTestDb); Debug.WriteLine("Is configured " + options.IsConfigured); } } }

Player.

namespace WpfGameDLL { public class Player { [Key] public int Id { get; set; } [Required] public string PlayerName { get; set; } [Required] public int Wins { get; set; } [Required] public int Losses { get; set; } private string playerId; private Hand hand; public Player(string name) { playerId = name + GenerateId(); hand = new Hand(); } public Player() { } public string GenerateId() { Random random = new Random(); string id = ""; for (int i = 0; i < 4; i++) { id += Convert.ToString(random.Next(0, 10)); } return id; } public Hand Hand { get { return hand; } set { hand = value; } } public void ResetHand() { hand = new Hand(); } public string PlayerId { get { return playerId; } set { playerId = value; } } public bool AddCard(Card card) { bool bust = hand.AddCard(card); return bust; } public int GetSumOfCards() { int sum = hand.GetSumOfCards(); return sum; } public bool Next() { int nrOfCards = hand.NumberOfCards(); if (nrOfCards > 1) { return false; } return true; } public bool Bust() { if (!Next()) { int value = GetSumOfCards(); if (value > 21) { return false; } return true; } else return false; } } }

Hand.

namespace WpfGameDLL { public class Hand { private List<Card> cards; public Hand() { cards = new List<Card>(); } public List<Card> GetCards() { return cards; } public List<Card> Cards { get { return cards; } set { cards = value; } } public bool AddCard(Card card) { cards.Add(card); int value = GetSumOfCards(); return CanHit(value); } public bool HandBust(int sum) { if (sum > 21) { return true; } return false; } public bool CanHit(int sum) { if (sum < 21) { return true; } else return false; } public int GetSumOfCards() { try { int sum = 0; for (int i = 0; i < cards.Count; i++) { sum += cards[i].GetValue(); } if (HasAce()) //An ace can be either 11 or 1, if the sum is more than 11 than the ace takes the value of 1 else it has the value of 11; { if (sum < 10) { sum = sum + 10; } } return sum; } catch (System.NullReferenceException) { } return 0; } public bool HasAce() { //In blackjack aces have a special function that changes their value to the total, reqiring this mehtod being included to account for that. string[] aces = new string[] { "c1", "s1", "h1", "d1" }; for (int i = 0; i < cards.Count; i++) { for (int j = 0; j < aces.Length; j++) { if (cards[i].GetSuite() == aces[j]) { return true; } } } return false; } public int NumberOfCards() { return cards.Count; } } }

Card.

namespace WpfGameDLL { public class Card { private string suite; private int value; public Card() { } public BitmapImage GetCardBack() { BitmapImage img = new BitmapImage(GetPathUri("b2fv")); return img; } public BitmapImage GetCardEdge() { Uri uri = GetPathUri("b2pl"); BitmapImage img = new BitmapImage(uri); return img; } public Uri GetPathUri(string fileName) { string path = System.IO.Directory.GetCurrentDirectory(); Uri uri = new Uri(path + @\CardGUI" + fileName + .png"); return uri; } public Card(string suite) { this.suite = suite; value = (int)Enum.Parse(typeof(EnumSuite), suite); } //Kortens suite matchar namnet på deras bilder i bild mappen så denna metod hämtar filvägen till ett korts png fil //och omvandlar sedan den till en bitmapimage som man kan skicka tillbaka till en xaml class där man kan visa bilden. public BitmapImage GetCardImage() { string path = System.IO.Directory.GetCurrentDirectory(); Uri uri = new Uri(path + @\CardGUI" + suite + .png"); BitmapImage img = new BitmapImage(uri); return img; } public string GetSuite() { return suite; } public int GetValue() { try { return value; } catch (NullReferenceException) { return 0; } } } }

Hela felmedelandet frå package manager console efter jag skrivit in Add-Migration -Project WpfGameDAL
Add-Migration -Project WpfGameDAL
cmdlet Add-Migration at command pipeline position 1
Supply values for the following parameters:
Name: testMig
Build started...
Build succeeded.
System.InvalidOperationException: The entity type 'Card' requires a primary key to be defined. If you intended to use a keyless entity type, call 'HasNoKey' in 'OnModelCreating'. For more information on keyless entity types, see https://go.microsoft.com/fwlink/?linkid=2141943.
at Microsoft.EntityFrameworkCore.Infrastructure.ModelValidator.ValidateNonNullPrimaryKeys(IModel model, IDiagnosticsLogger`1 logger)
at Microsoft.EntityFrameworkCore.Infrastructure.ModelValidator.Validate(IModel model, IDiagnosticsLogger`1 logger)
at Microsoft.EntityFrameworkCore.Infrastructure.RelationalModelValidator.Validate(IModel model, IDiagnosticsLogger`1 logger)
at Microsoft.EntityFrameworkCore.SqlServer.Infrastructure.Internal.SqlServerModelValidator.Validate(IModel model, IDiagnosticsLogger`1 logger)
at Microsoft.EntityFrameworkCore.Infrastructure.ModelRuntimeInitializer.Initialize(IModel model, Boolean designTime, IDiagnosticsLogger`1 validationLogger)
at Microsoft.EntityFrameworkCore.Infrastructure.ModelSource.GetModel(DbContext context, ModelCreationDependencies modelCreationDependencies, Boolean designTime)
at Microsoft.EntityFrameworkCore.Internal.DbContextServices.CreateModel(Boolean designTime)
at Microsoft.EntityFrameworkCore.Internal.DbContextServices.get_Model()
at Microsoft.EntityFrameworkCore.Infrastructure.EntityFrameworkServicesBuilder.<>c.<TryAddCoreServices>b__8_4(IServiceProvider p)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitFactory(FactoryCallSite factoryCallSite, RuntimeResolverContext context)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSiteMain(ServiceCallSite callSite, TArgument argument)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitCache(ServiceCallSite callSite, RuntimeResolverContext context, ServiceProviderEngineScope serviceProviderEngine, RuntimeResolverLock lockType)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScopeCache(ServiceCallSite callSite, RuntimeResolverContext context)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(ServiceCallSite callSite, TArgument argument)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite constructorCallSite, RuntimeResolverContext context)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSiteMain(ServiceCallSite callSite, TArgument argument)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitCache(ServiceCallSite callSite, RuntimeResolverContext context, ServiceProviderEngineScope serviceProviderEngine, RuntimeResolverLock lockType)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScopeCache(ServiceCallSite callSite, RuntimeResolverContext context)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(ServiceCallSite callSite, TArgument argument)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite constructorCallSite, RuntimeResolverContext context)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSiteMain(ServiceCallSite callSite, TArgument argument)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitCache(ServiceCallSite callSite, RuntimeResolverContext context, ServiceProviderEngineScope serviceProviderEngine, RuntimeResolverLock lockType)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScopeCache(ServiceCallSite callSite, RuntimeResolverContext context)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(ServiceCallSite callSite, TArgument argument)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite constructorCallSite, RuntimeResolverContext context)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSiteMain(ServiceCallSite callSite, TArgument argument)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitCache(ServiceCallSite callSite, RuntimeResolverContext context, ServiceProviderEngineScope serviceProviderEngine, RuntimeResolverLock lockType)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScopeCache(ServiceCallSite callSite, RuntimeResolverContext context)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(ServiceCallSite callSite, TArgument argument)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite constructorCallSite, RuntimeResolverContext context)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSiteMain(ServiceCallSite callSite, TArgument argument)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitCache(ServiceCallSite callSite, RuntimeResolverContext context, ServiceProviderEngineScope serviceProviderEngine, RuntimeResolverLock lockType)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScopeCache(ServiceCallSite callSite, RuntimeResolverContext context)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(ServiceCallSite callSite, TArgument argument)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite constructorCallSite, RuntimeResolverContext context)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSiteMain(ServiceCallSite callSite, TArgument argument)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitCache(ServiceCallSite callSite, RuntimeResolverContext context, ServiceProviderEngineScope serviceProviderEngine, RuntimeResolverLock lockType)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScopeCache(ServiceCallSite callSite, RuntimeResolverContext context)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(ServiceCallSite callSite, TArgument argument)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.Resolve(ServiceCallSite callSite, ServiceProviderEngineScope scope)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.DynamicServiceProviderEngine.<>c__DisplayClass2_0.<RealizeService>b__0(ServiceProviderEngineScope scope)
at Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService(Type serviceType, ServiceProviderEngineScope serviceProviderEngineScope)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngineScope.GetService(Type serviceType)
at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(IServiceProvider provider, Type serviceType)
at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService[T](IServiceProvider provider)
at Microsoft.EntityFrameworkCore.DbContext.get_DbContextDependencies()
at Microsoft.EntityFrameworkCore.DbContext.get_ContextServices()
at Microsoft.EntityFrameworkCore.DbContext.get_InternalServiceProvider()
at Microsoft.EntityFrameworkCore.DbContext.Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<System.IServiceProvider>.get_Instance()
at Microsoft.EntityFrameworkCore.Infrastructure.Internal.InfrastructureExtensions.GetService[TService](IInfrastructure`1 accessor)
at Microsoft.EntityFrameworkCore.Infrastructure.AccessorExtensions.GetService[TService](IInfrastructure`1 accessor)
at Microsoft.EntityFrameworkCore.Design.Internal.DbContextOperations.CreateContext(Func`1 factory)
at Microsoft.EntityFrameworkCore.Design.Internal.DbContextOperations.CreateContext(String contextType)
at Microsoft.EntityFrameworkCore.Design.Internal.MigrationsOperations.AddMigration(String name, String outputDir, String contextType, String namespace)
at Microsoft.EntityFrameworkCore.Design.OperationExecutor.AddMigrationImpl(String name, String outputDir, String contextType, String namespace)
at Microsoft.EntityFrameworkCore.Design.OperationExecutor.AddMigration.<>c__DisplayClass0_0.<.ctor>b__0()
at Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.<>c__DisplayClass3_0`1.<Execute>b__0()
at Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.Execute(Action action)
The entity type 'Card' requires a primary key to be defined. If you intended to use a keyless entity type, call 'HasNoKey' in 'OnModelCreating'. For more information on keyless entity types, see https://go.microsoft.com/fwlink/?linkid=2141943.

Av MaskenLilja
Skrivet av snajk:

Har du SQL Server installerat?

Behöver jag det. Enligt mina instruktioner ska det gå genom localdb. Jag har EF sql nuget instrallerat.

Av MaskenLilja

Försöker skapa en databas för första gången med C# Data.SqlClient.SqlException.

Hej.
Detta är skolarbete. Och enligt mina instruktioner så borde detta

protected override void OnConfiguring(DbContextOptionsBuilder options) { options.UseSqlServer(@Server=(localdb\MSSQLLocalDB;Database=GameDb); }

Skapa en databas, det är i alla fall så jag tolkar det. Men till svar får jag

'Microsoft.Data.SqlClient.SqlException' in Microsoft.EntityFrameworkCore.dll
An unhandled exception of type 'Microsoft.Data.SqlClient.SqlException' occurred in Microsoft.EntityFrameworkCore.dll
A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SNI_PN11, error: 26 - Error Locating Server/Instance Specified)

Och jag vet inte vad jag ska göra. Det verkar som dom vill ha ett namn men vad för namn och vart hittar jag det? Och om inte hur skapar jag en sådan server.

Den relevanta koden.
Den är uppdelad i två olika projekt, ena är ett class library och båda har EntityFrameWorkCode, design, relational, sqlserver och tools installerade.

namespace CreateDataBase { /// <summary> /// Interaction logic for MainWindow.xaml /// </summary> public partial class MainWindow : Window { //PL. public MainWindow() { InitializeComponent(); } private void Create_Session_Click(object sender, RoutedEventArgs e) { var db = new DALContext(); string id = Session_Id.Text; string type = Session_Type.Text; string date = Session_Date.Text; int players = Convert.ToInt32(Session_Players.Text); int cardsPlayed = Convert.ToInt32(Session_CardsPlayed.Text); Session session = new Session { SessionId = id, SessionType = type, SessionDate = date, SessionPlayers = players, SessionCardsPlayed = cardsPlayed }; db.Sessions.Add(session); db.SaveChanges(); var query = from s in db.Sessions orderby s.SessionId select s; foreach (var item in query) { Display_Db.Items.Add(item); } }

namespace DAL { public class Session { public string SessionId { get; set; } public string SessionDate { get; set; } public int SessionPlayers { get; set; } public string SessionType { get; set; } public int SessionCardsPlayed { get; set; } } }

namespace DAL { public class DALContext : DbContext { protected override void OnConfiguring(DbContextOptionsBuilder options) { options.UseSqlServer(@Server=(localdb\MSSQLLocalDB;Database=GameDb); } public DbSet<Session> Sessions { get; set; } } }

Tackar i förväg.